diff --git a/gen/walletobjects1-cli/Cargo.toml b/gen/walletobjects1-cli/Cargo.toml new file mode 100644 index 0000000000..10bdb933bd --- /dev/null +++ b/gen/walletobjects1-cli/Cargo.toml @@ -0,0 +1,44 @@ +# DO NOT EDIT ! +# This file was generated automatically from 'src/generator/templates/Cargo.toml.mako' +# DO NOT EDIT ! +[package] + +name = "google-walletobjects1-cli" +version = "4.0.2+20220928" +authors = ["Sebastian Thiel "] +description = "A complete library to interact with Walletobjects (protocol v1)" +repository = "https://github.com/Byron/google-apis-rs/tree/main/gen/walletobjects1-cli" +homepage = "https://developers.google.com/pay/passes" +documentation = "http://byron.github.io/google-apis-rs/google_walletobjects1_cli" +license = "MIT" +keywords = ["walletobjects", "google", "cli"] +autobins = false +edition = "2018" + +[[bin]] +name = "walletobjects1" +path = "src/main.rs" + +[dependencies] +anyhow = "^ 1.0" +hyper-rustls = "0.23.0" +mime = "^ 0.2.0" +serde = { version = "^ 1.0", features = ["derive"] } +serde_json = "^ 1.0" +itertools = "^ 0.10" +google-clis-common = { path = "../../google-clis-common", version = "4.0" } +strsim = "^0.5" +clap = "^2.0" +http = "^0.2" +hyper = { version = "0.14", features = ["full"] } +tokio = { version = "^ 1.0", features = ["full"] } +tower-service = "^0.3.1" + + + +[dependencies.google-walletobjects1] +path = "../walletobjects1" +version = "4.0.2+20220928" + +# [features] +# default = ["yup-oauth2"] diff --git a/gen/walletobjects1-cli/LICENSE.md b/gen/walletobjects1-cli/LICENSE.md new file mode 100644 index 0000000000..63756554ea --- /dev/null +++ b/gen/walletobjects1-cli/LICENSE.md @@ -0,0 +1,30 @@ + +The MIT License (MIT) +===================== + +Copyright © `2015-2020` `Sebastian Thiel` + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the “Software”), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. diff --git a/gen/walletobjects1-cli/README.md b/gen/walletobjects1-cli/README.md new file mode 100644 index 0000000000..00ea870a37 --- /dev/null +++ b/gen/walletobjects1-cli/README.md @@ -0,0 +1,214 @@ + +The `walletobjects1` command-line interface *(CLI)* allows to use most features of the *Google Walletobjects* service from the comfort of your terminal. + +By default all output is printed to standard out, but flags can be set to direct it into a file independent of your shell's +capabilities. Errors will be printed to standard error, and cause the program's exit code to be non-zero. + +If data-structures are requested, these will be returned as pretty-printed JSON, to be useful as input to other tools. + +Everything else about the *Walletobjects* API can be found at the +[official documentation site](https://developers.google.com/pay/passes). + +# Installation and Source Code + +Install the command-line interface with cargo using: + +```bash +cargo install google-walletobjects1-cli +``` + +Find the source code [on github](https://github.com/Byron/google-apis-rs/tree/main/gen/walletobjects1-cli). + +# Usage + +This documentation was generated from the *Walletobjects* API at revision *20220928*. The CLI is at version *4.0.2*. + +```bash +walletobjects1 [options] + eventticketclass + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + eventticketobject + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + modifylinkedofferobjects (-r )... [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + flightclass + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + flightobject + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + genericclass + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + genericobject + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + giftcardclass + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + giftcardobject + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + issuer + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + jwt + insert (-r )... [-p ]... [-o ] + loyaltyclass + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + loyaltyobject + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + modifylinkedofferobjects (-r )... [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + offerclass + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + offerobject + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + permissions + get [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + smarttap + insert (-r )... [-p ]... [-o ] + transitclass + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + transitobject + addmessage (-r )... [-p ]... [-o ] + get [-p ]... [-o ] + insert (-r )... [-p ]... [-o ] + list [-p ]... [-o ] + patch (-r )... [-p ]... [-o ] + update (-r )... [-p ]... [-o ] + walletobjects1 --help + +Configuration: + [--scope ]... + Specify the authentication a method should be executed in. Each scope + requires the user to grant this application permission to use it. + If unset, it defaults to the shortest scope url for a particular method. + --config-dir + A directory into which we will store our persistent data. Defaults to + a user-writable directory that we will create during the first invocation. + [default: ~/.google-service-cli] + +``` + +# Configuration + +The program will store all persistent data in the `~/.google-service-cli` directory in *JSON* files prefixed with `walletobjects1-`. You can change the directory used to store configuration with the `--config-dir` flag on a per-invocation basis. + +More information about the various kinds of persistent data are given in the following paragraphs. + +# Authentication + +Most APIs require a user to authenticate any request. If this is the case, the [scope][scopes] determines the +set of permissions granted. The granularity of these is usually no more than *read-only* or *full-access*. + +If not set, the system will automatically select the smallest feasible scope, e.g. when invoking a +method that is read-only, it will ask only for a read-only scope. +You may use the `--scope` flag to specify a scope directly. +All applicable scopes are documented in the respective method's CLI documentation. + +The first time a scope is used, the user is asked for permission. Follow the instructions given +by the CLI to grant permissions, or to decline. + +If a scope was authenticated by the user, the respective information will be stored as *JSON* in the configuration +directory, e.g. `~/.google-service-cli/walletobjects1-token-.json`. No manual management of these tokens +is necessary. + +To revoke granted authentication, please refer to the [official documentation][revoke-access]. + +# Application Secrets + +In order to allow any application to use Google services, it will need to be registered using the +[Google Developer Console][google-dev-console]. APIs the application may use are then enabled for it +one by one. Most APIs can be used for free and have a daily quota. + +To allow more comfortable usage of the CLI without forcing anyone to register an own application, the CLI +comes with a default application secret that is configured accordingly. This also means that heavy usage +all around the world may deplete the daily quota. + +You can workaround this limitation by putting your own secrets file at this location: +`~/.google-service-cli/walletobjects1-secret.json`, assuming that the required *walletobjects* API +was enabled for it. Such a secret file can be downloaded in the *Google Developer Console* at +*APIs & auth -> Credentials -> Download JSON* and used as is. + +Learn more about how to setup Google projects and enable APIs using the [official documentation][google-project-new]. + + +# Debugging + +Even though the CLI does its best to provide usable error messages, sometimes it might be desirable to know +what exactly led to a particular issue. This is done by allowing all client-server communication to be +output to standard error *as-is*. + +The `--debug` flag will print errors using the `Debug` representation to standard error. + +You may consider redirecting standard error into a file for ease of use, e.g. `walletobjects1 --debug [options] 2>debug.txt`. + + +[scopes]: https://developers.google.com/+/api/oauth#scopes +[revoke-access]: http://webapps.stackexchange.com/a/30849 +[google-dev-console]: https://console.developers.google.com/ +[google-project-new]: https://developers.google.com/console/help/new/ diff --git a/gen/walletobjects1-cli/mkdocs.yml b/gen/walletobjects1-cli/mkdocs.yml new file mode 100644 index 0000000000..5429b6f738 --- /dev/null +++ b/gen/walletobjects1-cli/mkdocs.yml @@ -0,0 +1,127 @@ +site_name: Walletobjects v4.0.2+20220928 +site_url: http://byron.github.io/google-apis-rs/google-walletobjects1-cli +site_description: A complete library to interact with Walletobjects (protocol v1) + +repo_url: https://github.com/Byron/google-apis-rs/tree/main/gen/walletobjects1-cli + +docs_dir: docs +site_dir: build_html + +nav: +- Home: 'index.md' +- 'Eventticketclass': + - 'Addmessage': 'eventticketclass_addmessage.md' + - 'Get': 'eventticketclass_get.md' + - 'Insert': 'eventticketclass_insert.md' + - 'List': 'eventticketclass_list.md' + - 'Patch': 'eventticketclass_patch.md' + - 'Update': 'eventticketclass_update.md' +- 'Eventticketobject': + - 'Addmessage': 'eventticketobject_addmessage.md' + - 'Get': 'eventticketobject_get.md' + - 'Insert': 'eventticketobject_insert.md' + - 'List': 'eventticketobject_list.md' + - 'Modifylinkedofferobjects': 'eventticketobject_modifylinkedofferobjects.md' + - 'Patch': 'eventticketobject_patch.md' + - 'Update': 'eventticketobject_update.md' +- 'Flightclass': + - 'Addmessage': 'flightclass_addmessage.md' + - 'Get': 'flightclass_get.md' + - 'Insert': 'flightclass_insert.md' + - 'List': 'flightclass_list.md' + - 'Patch': 'flightclass_patch.md' + - 'Update': 'flightclass_update.md' +- 'Flightobject': + - 'Addmessage': 'flightobject_addmessage.md' + - 'Get': 'flightobject_get.md' + - 'Insert': 'flightobject_insert.md' + - 'List': 'flightobject_list.md' + - 'Patch': 'flightobject_patch.md' + - 'Update': 'flightobject_update.md' +- 'Genericclass': + - 'Get': 'genericclass_get.md' + - 'Insert': 'genericclass_insert.md' + - 'List': 'genericclass_list.md' + - 'Patch': 'genericclass_patch.md' + - 'Update': 'genericclass_update.md' +- 'Genericobject': + - 'Get': 'genericobject_get.md' + - 'Insert': 'genericobject_insert.md' + - 'List': 'genericobject_list.md' + - 'Patch': 'genericobject_patch.md' + - 'Update': 'genericobject_update.md' +- 'Giftcardclass': + - 'Addmessage': 'giftcardclass_addmessage.md' + - 'Get': 'giftcardclass_get.md' + - 'Insert': 'giftcardclass_insert.md' + - 'List': 'giftcardclass_list.md' + - 'Patch': 'giftcardclass_patch.md' + - 'Update': 'giftcardclass_update.md' +- 'Giftcardobject': + - 'Addmessage': 'giftcardobject_addmessage.md' + - 'Get': 'giftcardobject_get.md' + - 'Insert': 'giftcardobject_insert.md' + - 'List': 'giftcardobject_list.md' + - 'Patch': 'giftcardobject_patch.md' + - 'Update': 'giftcardobject_update.md' +- 'Issuer': + - 'Get': 'issuer_get.md' + - 'Insert': 'issuer_insert.md' + - 'List': 'issuer_list.md' + - 'Patch': 'issuer_patch.md' + - 'Update': 'issuer_update.md' +- 'Jwt': + - 'Insert': 'jwt_insert.md' +- 'Loyaltyclass': + - 'Addmessage': 'loyaltyclass_addmessage.md' + - 'Get': 'loyaltyclass_get.md' + - 'Insert': 'loyaltyclass_insert.md' + - 'List': 'loyaltyclass_list.md' + - 'Patch': 'loyaltyclass_patch.md' + - 'Update': 'loyaltyclass_update.md' +- 'Loyaltyobject': + - 'Addmessage': 'loyaltyobject_addmessage.md' + - 'Get': 'loyaltyobject_get.md' + - 'Insert': 'loyaltyobject_insert.md' + - 'List': 'loyaltyobject_list.md' + - 'Modifylinkedofferobjects': 'loyaltyobject_modifylinkedofferobjects.md' + - 'Patch': 'loyaltyobject_patch.md' + - 'Update': 'loyaltyobject_update.md' +- 'Offerclass': + - 'Addmessage': 'offerclass_addmessage.md' + - 'Get': 'offerclass_get.md' + - 'Insert': 'offerclass_insert.md' + - 'List': 'offerclass_list.md' + - 'Patch': 'offerclass_patch.md' + - 'Update': 'offerclass_update.md' +- 'Offerobject': + - 'Addmessage': 'offerobject_addmessage.md' + - 'Get': 'offerobject_get.md' + - 'Insert': 'offerobject_insert.md' + - 'List': 'offerobject_list.md' + - 'Patch': 'offerobject_patch.md' + - 'Update': 'offerobject_update.md' +- 'Permissions': + - 'Get': 'permissions_get.md' + - 'Update': 'permissions_update.md' +- 'Smarttap': + - 'Insert': 'smarttap_insert.md' +- 'Transitclass': + - 'Addmessage': 'transitclass_addmessage.md' + - 'Get': 'transitclass_get.md' + - 'Insert': 'transitclass_insert.md' + - 'List': 'transitclass_list.md' + - 'Patch': 'transitclass_patch.md' + - 'Update': 'transitclass_update.md' +- 'Transitobject': + - 'Addmessage': 'transitobject_addmessage.md' + - 'Get': 'transitobject_get.md' + - 'Insert': 'transitobject_insert.md' + - 'List': 'transitobject_list.md' + - 'Patch': 'transitobject_patch.md' + - 'Update': 'transitobject_update.md' + +theme: readthedocs + +copyright: Copyright © 2015-2020, `Sebastian Thiel` + diff --git a/gen/walletobjects1-cli/src/main.rs b/gen/walletobjects1-cli/src/main.rs new file mode 100644 index 0000000000..a2803fe12d --- /dev/null +++ b/gen/walletobjects1-cli/src/main.rs @@ -0,0 +1,17676 @@ +// DO NOT EDIT ! +// This file was generated automatically from 'src/generator/templates/cli/main.rs.mako' +// DO NOT EDIT ! +#![allow(unused_variables, unused_imports, dead_code, unused_mut)] + +#[macro_use] +extern crate clap; + +use std::env; +use std::io::{self, Write}; +use clap::{App, SubCommand, Arg}; + +use google_walletobjects1::{api, Error, oauth2}; + +use google_clis_common as client; + +use client::{InvalidOptionsError, CLIError, arg_from_str, writer_from_opts, parse_kv_arg, + input_file_from_opts, input_mime_from_opts, FieldCursor, FieldError, CallType, UploadProtocol, + calltype_from_str, remove_json_null_values, ComplexType, JsonType, JsonTypeInfo}; + +use std::default::Default; +use std::error::Error as StdError; +use std::str::FromStr; + +use serde_json as json; +use clap::ArgMatches; +use http::Uri; +use hyper::client::connect; +use tokio::io::{AsyncRead, AsyncWrite}; +use tower_service; + +enum DoitError { + IoError(String, io::Error), + ApiError(Error), +} + +struct Engine<'n, S> { + opt: ArgMatches<'n>, + hub: api::Walletobjects, + gp: Vec<&'static str>, + gpm: Vec<(&'static str, &'static str)>, +} + + +impl<'n, S> Engine<'n, S> +where + S: tower_service::Service + Clone + Send + Sync + 'static, + S::Response: hyper::client::connect::Connection + AsyncRead + AsyncWrite + Send + Unpin + 'static, + S::Future: Send + Unpin + 'static, + S::Error: Into>, +{ + async fn _eventticketclass_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketclass().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketclass_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.eventticketclass().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketclass_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "confirmation-code-label" => Some(("confirmationCodeLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.kind" => Some(("customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.language" => Some(("customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.value" => Some(("customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.kind" => Some(("customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.kind" => Some(("customGateLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.language" => Some(("customGateLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.value" => Some(("customGateLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.kind" => Some(("customGateLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.kind" => Some(("customRowLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.language" => Some(("customRowLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.value" => Some(("customRowLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.kind" => Some(("customRowLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.kind" => Some(("customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.language" => Some(("customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.value" => Some(("customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.kind" => Some(("customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.kind" => Some(("customSectionLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.language" => Some(("customSectionLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.value" => Some(("customSectionLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.kind" => Some(("customSectionLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.kind" => Some(("dateTime.customDoorsOpenLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.language" => Some(("dateTime.customDoorsOpenLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.value" => Some(("dateTime.customDoorsOpenLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.kind" => Some(("dateTime.customDoorsOpenLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.doors-open" => Some(("dateTime.doorsOpen", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.doors-open-label" => Some(("dateTime.doorsOpenLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.end" => Some(("dateTime.end", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.kind" => Some(("dateTime.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.start" => Some(("dateTime.start", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-id" => Some(("eventId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.kind" => Some(("eventName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.language" => Some(("eventName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.value" => Some(("eventName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.kind" => Some(("eventName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.kind" => Some(("finePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.language" => Some(("finePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.value" => Some(("finePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.kind" => Some(("finePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "gate-label" => Some(("gateLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "row-label" => Some(("rowLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-label" => Some(("seatLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "section-label" => Some(("sectionLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.kind" => Some(("venue.address.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.language" => Some(("venue.address.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.value" => Some(("venue.address.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.kind" => Some(("venue.address.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.kind" => Some(("venue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.kind" => Some(("venue.name.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.language" => Some(("venue.name.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.value" => Some(("venue.name.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.kind" => Some(("venue.name.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["address", "allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "confirmation-code-label", "content-description", "country-code", "custom-confirmation-code-label", "custom-doors-open-label", "custom-gate-label", "custom-row-label", "custom-seat-label", "custom-section-label", "date-time", "default-value", "description", "doors-open", "doors-open-label", "enable-smart-tap", "end", "event-id", "event-name", "fine-print", "first-row-option", "gate-label", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-issuer-name", "logo", "multiple-devices-and-holders-allowed-status", "name", "redemption-issuers", "review", "review-status", "row-label", "seat-label", "section-label", "security-animation", "show-last-update-time", "source-uri", "start", "transit-option", "update-request-url", "uri", "url", "value", "venue", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::EventTicketClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketclass().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketclass_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.eventticketclass().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "issuer-id" => { + call = call.issuer_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["issuer-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketclass_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "confirmation-code-label" => Some(("confirmationCodeLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.kind" => Some(("customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.language" => Some(("customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.value" => Some(("customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.kind" => Some(("customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.kind" => Some(("customGateLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.language" => Some(("customGateLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.value" => Some(("customGateLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.kind" => Some(("customGateLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.kind" => Some(("customRowLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.language" => Some(("customRowLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.value" => Some(("customRowLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.kind" => Some(("customRowLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.kind" => Some(("customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.language" => Some(("customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.value" => Some(("customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.kind" => Some(("customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.kind" => Some(("customSectionLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.language" => Some(("customSectionLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.value" => Some(("customSectionLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.kind" => Some(("customSectionLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.kind" => Some(("dateTime.customDoorsOpenLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.language" => Some(("dateTime.customDoorsOpenLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.value" => Some(("dateTime.customDoorsOpenLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.kind" => Some(("dateTime.customDoorsOpenLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.doors-open" => Some(("dateTime.doorsOpen", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.doors-open-label" => Some(("dateTime.doorsOpenLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.end" => Some(("dateTime.end", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.kind" => Some(("dateTime.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.start" => Some(("dateTime.start", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-id" => Some(("eventId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.kind" => Some(("eventName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.language" => Some(("eventName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.value" => Some(("eventName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.kind" => Some(("eventName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.kind" => Some(("finePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.language" => Some(("finePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.value" => Some(("finePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.kind" => Some(("finePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "gate-label" => Some(("gateLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "row-label" => Some(("rowLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-label" => Some(("seatLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "section-label" => Some(("sectionLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.kind" => Some(("venue.address.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.language" => Some(("venue.address.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.value" => Some(("venue.address.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.kind" => Some(("venue.address.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.kind" => Some(("venue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.kind" => Some(("venue.name.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.language" => Some(("venue.name.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.value" => Some(("venue.name.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.kind" => Some(("venue.name.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["address", "allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "confirmation-code-label", "content-description", "country-code", "custom-confirmation-code-label", "custom-doors-open-label", "custom-gate-label", "custom-row-label", "custom-seat-label", "custom-section-label", "date-time", "default-value", "description", "doors-open", "doors-open-label", "enable-smart-tap", "end", "event-id", "event-name", "fine-print", "first-row-option", "gate-label", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-issuer-name", "logo", "multiple-devices-and-holders-allowed-status", "name", "redemption-issuers", "review", "review-status", "row-label", "seat-label", "section-label", "security-animation", "show-last-update-time", "source-uri", "start", "transit-option", "update-request-url", "uri", "url", "value", "venue", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::EventTicketClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketclass().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketclass_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "confirmation-code-label" => Some(("confirmationCodeLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.kind" => Some(("customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.language" => Some(("customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.value" => Some(("customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.kind" => Some(("customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.kind" => Some(("customGateLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.language" => Some(("customGateLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.default-value.value" => Some(("customGateLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-gate-label.kind" => Some(("customGateLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.kind" => Some(("customRowLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.language" => Some(("customRowLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.default-value.value" => Some(("customRowLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-row-label.kind" => Some(("customRowLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.kind" => Some(("customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.language" => Some(("customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.value" => Some(("customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.kind" => Some(("customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.kind" => Some(("customSectionLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.language" => Some(("customSectionLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.default-value.value" => Some(("customSectionLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-section-label.kind" => Some(("customSectionLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.kind" => Some(("dateTime.customDoorsOpenLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.language" => Some(("dateTime.customDoorsOpenLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.default-value.value" => Some(("dateTime.customDoorsOpenLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.custom-doors-open-label.kind" => Some(("dateTime.customDoorsOpenLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.doors-open" => Some(("dateTime.doorsOpen", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.doors-open-label" => Some(("dateTime.doorsOpenLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.end" => Some(("dateTime.end", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.kind" => Some(("dateTime.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "date-time.start" => Some(("dateTime.start", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-id" => Some(("eventId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.kind" => Some(("eventName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.language" => Some(("eventName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.default-value.value" => Some(("eventName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "event-name.kind" => Some(("eventName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.kind" => Some(("finePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.language" => Some(("finePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.default-value.value" => Some(("finePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "fine-print.kind" => Some(("finePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "gate-label" => Some(("gateLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "row-label" => Some(("rowLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-label" => Some(("seatLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "section-label" => Some(("sectionLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.kind" => Some(("venue.address.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.language" => Some(("venue.address.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.default-value.value" => Some(("venue.address.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.address.kind" => Some(("venue.address.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.kind" => Some(("venue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.kind" => Some(("venue.name.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.language" => Some(("venue.name.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.default-value.value" => Some(("venue.name.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "venue.name.kind" => Some(("venue.name.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["address", "allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "confirmation-code-label", "content-description", "country-code", "custom-confirmation-code-label", "custom-doors-open-label", "custom-gate-label", "custom-row-label", "custom-seat-label", "custom-section-label", "date-time", "default-value", "description", "doors-open", "doors-open-label", "enable-smart-tap", "end", "event-id", "event-name", "fine-print", "first-row-option", "gate-label", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-issuer-name", "logo", "multiple-devices-and-holders-allowed-status", "name", "redemption-issuers", "review", "review-status", "row-label", "seat-label", "section-label", "security-animation", "show-last-update-time", "source-uri", "start", "transit-option", "update-request-url", "uri", "url", "value", "venue", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::EventTicketClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketclass().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketobject_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketobject().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketobject_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.eventticketobject().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketobject_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.confirmation-code-label" => Some(("classReference.confirmationCodeLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.kind" => Some(("classReference.customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.language" => Some(("classReference.customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.value" => Some(("classReference.customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.kind" => Some(("classReference.customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.kind" => Some(("classReference.customGateLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.language" => Some(("classReference.customGateLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.value" => Some(("classReference.customGateLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.kind" => Some(("classReference.customGateLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.kind" => Some(("classReference.customRowLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.language" => Some(("classReference.customRowLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.value" => Some(("classReference.customRowLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.kind" => Some(("classReference.customRowLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.kind" => Some(("classReference.customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.language" => Some(("classReference.customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.value" => Some(("classReference.customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.kind" => Some(("classReference.customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.kind" => Some(("classReference.customSectionLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.language" => Some(("classReference.customSectionLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.value" => Some(("classReference.customSectionLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.kind" => Some(("classReference.customSectionLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.kind" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.language" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.value" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.kind" => Some(("classReference.dateTime.customDoorsOpenLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.doors-open" => Some(("classReference.dateTime.doorsOpen", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.doors-open-label" => Some(("classReference.dateTime.doorsOpenLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.end" => Some(("classReference.dateTime.end", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.kind" => Some(("classReference.dateTime.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.start" => Some(("classReference.dateTime.start", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.event-id" => Some(("classReference.eventId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.kind" => Some(("classReference.eventName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.language" => Some(("classReference.eventName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.value" => Some(("classReference.eventName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.kind" => Some(("classReference.eventName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.kind" => Some(("classReference.finePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.language" => Some(("classReference.finePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.value" => Some(("classReference.finePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.kind" => Some(("classReference.finePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.gate-label" => Some(("classReference.gateLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.kind" => Some(("classReference.logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.language" => Some(("classReference.logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.value" => Some(("classReference.logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.kind" => Some(("classReference.logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.kind" => Some(("classReference.logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.description" => Some(("classReference.logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.kind" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.language" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.value" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.kind" => Some(("classReference.logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.uri" => Some(("classReference.logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.row-label" => Some(("classReference.rowLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.seat-label" => Some(("classReference.seatLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.section-label" => Some(("classReference.sectionLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.kind" => Some(("classReference.venue.address.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.language" => Some(("classReference.venue.address.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.value" => Some(("classReference.venue.address.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.kind" => Some(("classReference.venue.address.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.kind" => Some(("classReference.venue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.kind" => Some(("classReference.venue.name.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.language" => Some(("classReference.venue.name.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.value" => Some(("classReference.venue.name.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.kind" => Some(("classReference.venue.name.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "face-value.currency-code" => Some(("faceValue.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "face-value.kind" => Some(("faceValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "face-value.micros" => Some(("faceValue.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "linked-offer-ids" => Some(("linkedOfferIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "reservation-info.confirmation-code" => Some(("reservationInfo.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.kind" => Some(("reservationInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.kind" => Some(("seatInfo.gate.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.language" => Some(("seatInfo.gate.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.value" => Some(("seatInfo.gate.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.kind" => Some(("seatInfo.gate.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.kind" => Some(("seatInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.kind" => Some(("seatInfo.row.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.language" => Some(("seatInfo.row.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.value" => Some(("seatInfo.row.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.kind" => Some(("seatInfo.row.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.kind" => Some(("seatInfo.seat.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.language" => Some(("seatInfo.seat.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.value" => Some(("seatInfo.seat.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.kind" => Some(("seatInfo.seat.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.kind" => Some(("seatInfo.section.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.language" => Some(("seatInfo.section.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.value" => Some(("seatInfo.section.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.kind" => Some(("seatInfo.section.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-holder-name" => Some(("ticketHolderName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-number" => Some(("ticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.kind" => Some(("ticketType.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.language" => Some(("ticketType.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.value" => Some(("ticketType.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.kind" => Some(("ticketType.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["address", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "confirmation-code", "confirmation-code-label", "content-description", "country-code", "currency-code", "custom-confirmation-code-label", "custom-doors-open-label", "custom-gate-label", "custom-row-label", "custom-seat-label", "custom-section-label", "date", "date-time", "default-value", "description", "disable-expiration-notification", "doors-open", "doors-open-label", "enable-smart-tap", "end", "event-id", "event-name", "face-value", "fine-print", "first-row-option", "gate", "gate-label", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "linked-offer-ids", "list-template-override", "localized-description", "localized-issuer-name", "logo", "micros", "multiple-devices-and-holders-allowed-status", "name", "period-millis", "redemption-issuers", "render-encoding", "reservation-info", "review", "review-status", "rotating-barcode", "row", "row-label", "seat", "seat-info", "seat-label", "section", "section-label", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "ticket-holder-name", "ticket-number", "ticket-type", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "venue", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::EventTicketObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketobject().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketobject_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.eventticketobject().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "class-id" => { + call = call.class_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["class-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketobject_modifylinkedofferobjects(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "linked-offer-object-ids.add-linked-offer-object-ids" => Some(("linkedOfferObjectIds.addLinkedOfferObjectIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "linked-offer-object-ids.remove-linked-offer-object-ids" => Some(("linkedOfferObjectIds.removeLinkedOfferObjectIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["add-linked-offer-object-ids", "linked-offer-object-ids", "remove-linked-offer-object-ids"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::ModifyLinkedOfferObjectsRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketobject().modifylinkedofferobjects(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketobject_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.confirmation-code-label" => Some(("classReference.confirmationCodeLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.kind" => Some(("classReference.customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.language" => Some(("classReference.customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.value" => Some(("classReference.customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.kind" => Some(("classReference.customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.kind" => Some(("classReference.customGateLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.language" => Some(("classReference.customGateLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.value" => Some(("classReference.customGateLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.kind" => Some(("classReference.customGateLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.kind" => Some(("classReference.customRowLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.language" => Some(("classReference.customRowLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.value" => Some(("classReference.customRowLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.kind" => Some(("classReference.customRowLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.kind" => Some(("classReference.customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.language" => Some(("classReference.customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.value" => Some(("classReference.customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.kind" => Some(("classReference.customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.kind" => Some(("classReference.customSectionLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.language" => Some(("classReference.customSectionLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.value" => Some(("classReference.customSectionLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.kind" => Some(("classReference.customSectionLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.kind" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.language" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.value" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.kind" => Some(("classReference.dateTime.customDoorsOpenLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.doors-open" => Some(("classReference.dateTime.doorsOpen", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.doors-open-label" => Some(("classReference.dateTime.doorsOpenLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.end" => Some(("classReference.dateTime.end", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.kind" => Some(("classReference.dateTime.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.start" => Some(("classReference.dateTime.start", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.event-id" => Some(("classReference.eventId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.kind" => Some(("classReference.eventName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.language" => Some(("classReference.eventName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.value" => Some(("classReference.eventName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.kind" => Some(("classReference.eventName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.kind" => Some(("classReference.finePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.language" => Some(("classReference.finePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.value" => Some(("classReference.finePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.kind" => Some(("classReference.finePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.gate-label" => Some(("classReference.gateLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.kind" => Some(("classReference.logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.language" => Some(("classReference.logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.value" => Some(("classReference.logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.kind" => Some(("classReference.logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.kind" => Some(("classReference.logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.description" => Some(("classReference.logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.kind" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.language" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.value" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.kind" => Some(("classReference.logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.uri" => Some(("classReference.logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.row-label" => Some(("classReference.rowLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.seat-label" => Some(("classReference.seatLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.section-label" => Some(("classReference.sectionLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.kind" => Some(("classReference.venue.address.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.language" => Some(("classReference.venue.address.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.value" => Some(("classReference.venue.address.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.kind" => Some(("classReference.venue.address.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.kind" => Some(("classReference.venue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.kind" => Some(("classReference.venue.name.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.language" => Some(("classReference.venue.name.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.value" => Some(("classReference.venue.name.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.kind" => Some(("classReference.venue.name.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "face-value.currency-code" => Some(("faceValue.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "face-value.kind" => Some(("faceValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "face-value.micros" => Some(("faceValue.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "linked-offer-ids" => Some(("linkedOfferIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "reservation-info.confirmation-code" => Some(("reservationInfo.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.kind" => Some(("reservationInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.kind" => Some(("seatInfo.gate.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.language" => Some(("seatInfo.gate.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.value" => Some(("seatInfo.gate.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.kind" => Some(("seatInfo.gate.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.kind" => Some(("seatInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.kind" => Some(("seatInfo.row.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.language" => Some(("seatInfo.row.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.value" => Some(("seatInfo.row.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.kind" => Some(("seatInfo.row.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.kind" => Some(("seatInfo.seat.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.language" => Some(("seatInfo.seat.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.value" => Some(("seatInfo.seat.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.kind" => Some(("seatInfo.seat.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.kind" => Some(("seatInfo.section.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.language" => Some(("seatInfo.section.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.value" => Some(("seatInfo.section.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.kind" => Some(("seatInfo.section.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-holder-name" => Some(("ticketHolderName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-number" => Some(("ticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.kind" => Some(("ticketType.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.language" => Some(("ticketType.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.value" => Some(("ticketType.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.kind" => Some(("ticketType.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["address", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "confirmation-code", "confirmation-code-label", "content-description", "country-code", "currency-code", "custom-confirmation-code-label", "custom-doors-open-label", "custom-gate-label", "custom-row-label", "custom-seat-label", "custom-section-label", "date", "date-time", "default-value", "description", "disable-expiration-notification", "doors-open", "doors-open-label", "enable-smart-tap", "end", "event-id", "event-name", "face-value", "fine-print", "first-row-option", "gate", "gate-label", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "linked-offer-ids", "list-template-override", "localized-description", "localized-issuer-name", "logo", "micros", "multiple-devices-and-holders-allowed-status", "name", "period-millis", "redemption-issuers", "render-encoding", "reservation-info", "review", "review-status", "rotating-barcode", "row", "row-label", "seat", "seat-info", "seat-label", "section", "section-label", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "ticket-holder-name", "ticket-number", "ticket-type", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "venue", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::EventTicketObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketobject().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _eventticketobject_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.confirmation-code-label" => Some(("classReference.confirmationCodeLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.kind" => Some(("classReference.customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.language" => Some(("classReference.customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.value" => Some(("classReference.customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.kind" => Some(("classReference.customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.kind" => Some(("classReference.customGateLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.language" => Some(("classReference.customGateLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.default-value.value" => Some(("classReference.customGateLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-gate-label.kind" => Some(("classReference.customGateLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.kind" => Some(("classReference.customRowLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.language" => Some(("classReference.customRowLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.default-value.value" => Some(("classReference.customRowLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-row-label.kind" => Some(("classReference.customRowLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.kind" => Some(("classReference.customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.language" => Some(("classReference.customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.value" => Some(("classReference.customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.kind" => Some(("classReference.customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.kind" => Some(("classReference.customSectionLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.language" => Some(("classReference.customSectionLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.default-value.value" => Some(("classReference.customSectionLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-section-label.kind" => Some(("classReference.customSectionLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.kind" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.language" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.default-value.value" => Some(("classReference.dateTime.customDoorsOpenLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.custom-doors-open-label.kind" => Some(("classReference.dateTime.customDoorsOpenLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.doors-open" => Some(("classReference.dateTime.doorsOpen", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.doors-open-label" => Some(("classReference.dateTime.doorsOpenLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.end" => Some(("classReference.dateTime.end", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.kind" => Some(("classReference.dateTime.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.date-time.start" => Some(("classReference.dateTime.start", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.event-id" => Some(("classReference.eventId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.kind" => Some(("classReference.eventName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.language" => Some(("classReference.eventName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.default-value.value" => Some(("classReference.eventName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.event-name.kind" => Some(("classReference.eventName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.kind" => Some(("classReference.finePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.language" => Some(("classReference.finePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.default-value.value" => Some(("classReference.finePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.fine-print.kind" => Some(("classReference.finePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.gate-label" => Some(("classReference.gateLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.kind" => Some(("classReference.logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.language" => Some(("classReference.logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.value" => Some(("classReference.logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.kind" => Some(("classReference.logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.kind" => Some(("classReference.logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.description" => Some(("classReference.logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.kind" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.language" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.value" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.kind" => Some(("classReference.logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.uri" => Some(("classReference.logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.row-label" => Some(("classReference.rowLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.seat-label" => Some(("classReference.seatLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.section-label" => Some(("classReference.sectionLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.kind" => Some(("classReference.venue.address.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.language" => Some(("classReference.venue.address.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.default-value.value" => Some(("classReference.venue.address.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.address.kind" => Some(("classReference.venue.address.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.kind" => Some(("classReference.venue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.kind" => Some(("classReference.venue.name.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.language" => Some(("classReference.venue.name.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.default-value.value" => Some(("classReference.venue.name.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.venue.name.kind" => Some(("classReference.venue.name.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "face-value.currency-code" => Some(("faceValue.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "face-value.kind" => Some(("faceValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "face-value.micros" => Some(("faceValue.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "linked-offer-ids" => Some(("linkedOfferIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "reservation-info.confirmation-code" => Some(("reservationInfo.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.kind" => Some(("reservationInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.kind" => Some(("seatInfo.gate.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.language" => Some(("seatInfo.gate.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.default-value.value" => Some(("seatInfo.gate.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.gate.kind" => Some(("seatInfo.gate.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.kind" => Some(("seatInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.kind" => Some(("seatInfo.row.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.language" => Some(("seatInfo.row.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.default-value.value" => Some(("seatInfo.row.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.row.kind" => Some(("seatInfo.row.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.kind" => Some(("seatInfo.seat.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.language" => Some(("seatInfo.seat.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.default-value.value" => Some(("seatInfo.seat.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.seat.kind" => Some(("seatInfo.seat.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.kind" => Some(("seatInfo.section.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.language" => Some(("seatInfo.section.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.default-value.value" => Some(("seatInfo.section.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "seat-info.section.kind" => Some(("seatInfo.section.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-holder-name" => Some(("ticketHolderName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-number" => Some(("ticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.kind" => Some(("ticketType.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.language" => Some(("ticketType.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.default-value.value" => Some(("ticketType.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-type.kind" => Some(("ticketType.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["address", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "confirmation-code", "confirmation-code-label", "content-description", "country-code", "currency-code", "custom-confirmation-code-label", "custom-doors-open-label", "custom-gate-label", "custom-row-label", "custom-seat-label", "custom-section-label", "date", "date-time", "default-value", "description", "disable-expiration-notification", "doors-open", "doors-open-label", "enable-smart-tap", "end", "event-id", "event-name", "face-value", "fine-print", "first-row-option", "gate", "gate-label", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "linked-offer-ids", "list-template-override", "localized-description", "localized-issuer-name", "logo", "micros", "multiple-devices-and-holders-allowed-status", "name", "period-millis", "redemption-issuers", "render-encoding", "reservation-info", "review", "review-status", "rotating-barcode", "row", "row-label", "seat", "seat-info", "seat-label", "section", "section-label", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "ticket-holder-name", "ticket-number", "ticket-type", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "venue", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::EventTicketObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.eventticketobject().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightclass_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.flightclass().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightclass_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.flightclass().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightclass_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.boarding-policy" => Some(("boardingAndSeatingPolicy.boardingPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.kind" => Some(("boardingAndSeatingPolicy.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.seat-class-policy" => Some(("boardingAndSeatingPolicy.seatClassPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-iata-code" => Some(("destination.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.kind" => Some(("destination.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.language" => Some(("destination.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.value" => Some(("destination.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.kind" => Some(("destination.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.gate" => Some(("destination.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.kind" => Some(("destination.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.terminal" => Some(("destination.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.language" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.value" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.description" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.uri" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.kind" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.language" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.value" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.kind" => Some(("flightHeader.carrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.kind" => Some(("flightHeader.carrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.description" => Some(("flightHeader.carrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.kind" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.uri" => Some(("flightHeader.carrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.kind" => Some(("flightHeader.carrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.language" => Some(("flightHeader.carrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.value" => Some(("flightHeader.carrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.kind" => Some(("flightHeader.carrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.carrier-iata-code" => Some(("flightHeader.carrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.carrier-icao-code" => Some(("flightHeader.carrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.kind" => Some(("flightHeader.carrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.flight-number" => Some(("flightHeader.flightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.flight-number-display-override" => Some(("flightHeader.flightNumberDisplayOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.kind" => Some(("flightHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.description" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.uri" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.description" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.uri" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.language" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.value" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.kind" => Some(("flightHeader.operatingCarrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.carrier-iata-code" => Some(("flightHeader.operatingCarrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.carrier-icao-code" => Some(("flightHeader.operatingCarrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.kind" => Some(("flightHeader.operatingCarrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-flight-number" => Some(("flightHeader.operatingFlightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-status" => Some(("flightStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "language-override" => Some(("languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-boarding-date-time" => Some(("localBoardingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-estimated-or-actual-arrival-date-time" => Some(("localEstimatedOrActualArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-estimated-or-actual-departure-date-time" => Some(("localEstimatedOrActualDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-gate-closing-date-time" => Some(("localGateClosingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-scheduled-arrival-date-time" => Some(("localScheduledArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-scheduled-departure-date-time" => Some(("localScheduledDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-iata-code" => Some(("origin.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.kind" => Some(("origin.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.language" => Some(("origin.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.value" => Some(("origin.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.kind" => Some(("origin.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.gate" => Some(("origin.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.kind" => Some(("origin.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.terminal" => Some(("origin.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["airline-alliance-logo", "airline-logo", "airline-name", "airport-iata-code", "airport-name-override", "allow-multiple-users-per-object", "animation-type", "boarding-and-seating-policy", "boarding-policy", "callback-options", "carrier", "carrier-iata-code", "carrier-icao-code", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "destination", "enable-smart-tap", "first-row-option", "flight-header", "flight-number", "flight-number-display-override", "flight-status", "gate", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "language-override", "list-template-override", "local-boarding-date-time", "local-estimated-or-actual-arrival-date-time", "local-estimated-or-actual-departure-date-time", "local-gate-closing-date-time", "local-scheduled-arrival-date-time", "local-scheduled-departure-date-time", "localized-description", "localized-issuer-name", "multiple-devices-and-holders-allowed-status", "operating-carrier", "operating-flight-number", "origin", "redemption-issuers", "review", "review-status", "seat-class-policy", "security-animation", "show-last-update-time", "source-uri", "terminal", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::FlightClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.flightclass().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightclass_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.flightclass().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "issuer-id" => { + call = call.issuer_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["issuer-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightclass_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.boarding-policy" => Some(("boardingAndSeatingPolicy.boardingPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.kind" => Some(("boardingAndSeatingPolicy.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.seat-class-policy" => Some(("boardingAndSeatingPolicy.seatClassPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-iata-code" => Some(("destination.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.kind" => Some(("destination.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.language" => Some(("destination.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.value" => Some(("destination.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.kind" => Some(("destination.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.gate" => Some(("destination.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.kind" => Some(("destination.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.terminal" => Some(("destination.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.language" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.value" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.description" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.uri" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.kind" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.language" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.value" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.kind" => Some(("flightHeader.carrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.kind" => Some(("flightHeader.carrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.description" => Some(("flightHeader.carrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.kind" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.uri" => Some(("flightHeader.carrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.kind" => Some(("flightHeader.carrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.language" => Some(("flightHeader.carrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.value" => Some(("flightHeader.carrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.kind" => Some(("flightHeader.carrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.carrier-iata-code" => Some(("flightHeader.carrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.carrier-icao-code" => Some(("flightHeader.carrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.kind" => Some(("flightHeader.carrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.flight-number" => Some(("flightHeader.flightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.flight-number-display-override" => Some(("flightHeader.flightNumberDisplayOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.kind" => Some(("flightHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.description" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.uri" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.description" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.uri" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.language" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.value" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.kind" => Some(("flightHeader.operatingCarrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.carrier-iata-code" => Some(("flightHeader.operatingCarrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.carrier-icao-code" => Some(("flightHeader.operatingCarrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.kind" => Some(("flightHeader.operatingCarrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-flight-number" => Some(("flightHeader.operatingFlightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-status" => Some(("flightStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "language-override" => Some(("languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-boarding-date-time" => Some(("localBoardingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-estimated-or-actual-arrival-date-time" => Some(("localEstimatedOrActualArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-estimated-or-actual-departure-date-time" => Some(("localEstimatedOrActualDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-gate-closing-date-time" => Some(("localGateClosingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-scheduled-arrival-date-time" => Some(("localScheduledArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-scheduled-departure-date-time" => Some(("localScheduledDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-iata-code" => Some(("origin.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.kind" => Some(("origin.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.language" => Some(("origin.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.value" => Some(("origin.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.kind" => Some(("origin.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.gate" => Some(("origin.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.kind" => Some(("origin.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.terminal" => Some(("origin.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["airline-alliance-logo", "airline-logo", "airline-name", "airport-iata-code", "airport-name-override", "allow-multiple-users-per-object", "animation-type", "boarding-and-seating-policy", "boarding-policy", "callback-options", "carrier", "carrier-iata-code", "carrier-icao-code", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "destination", "enable-smart-tap", "first-row-option", "flight-header", "flight-number", "flight-number-display-override", "flight-status", "gate", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "language-override", "list-template-override", "local-boarding-date-time", "local-estimated-or-actual-arrival-date-time", "local-estimated-or-actual-departure-date-time", "local-gate-closing-date-time", "local-scheduled-arrival-date-time", "local-scheduled-departure-date-time", "localized-description", "localized-issuer-name", "multiple-devices-and-holders-allowed-status", "operating-carrier", "operating-flight-number", "origin", "redemption-issuers", "review", "review-status", "seat-class-policy", "security-animation", "show-last-update-time", "source-uri", "terminal", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::FlightClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.flightclass().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightclass_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.boarding-policy" => Some(("boardingAndSeatingPolicy.boardingPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.kind" => Some(("boardingAndSeatingPolicy.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-policy.seat-class-policy" => Some(("boardingAndSeatingPolicy.seatClassPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-iata-code" => Some(("destination.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.kind" => Some(("destination.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.language" => Some(("destination.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.default-value.value" => Some(("destination.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.airport-name-override.kind" => Some(("destination.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.gate" => Some(("destination.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.kind" => Some(("destination.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "destination.terminal" => Some(("destination.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.language" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.default-value.value" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.content-description.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.description" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-alliance-logo.source-uri.uri" => Some(("flightHeader.carrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.kind" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.language" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.default-value.value" => Some(("flightHeader.carrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.content-description.kind" => Some(("flightHeader.carrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.kind" => Some(("flightHeader.carrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.description" => Some(("flightHeader.carrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.localized-description.kind" => Some(("flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-logo.source-uri.uri" => Some(("flightHeader.carrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.kind" => Some(("flightHeader.carrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.language" => Some(("flightHeader.carrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.default-value.value" => Some(("flightHeader.carrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.airline-name.kind" => Some(("flightHeader.carrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.carrier-iata-code" => Some(("flightHeader.carrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.carrier-icao-code" => Some(("flightHeader.carrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.carrier.kind" => Some(("flightHeader.carrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.flight-number" => Some(("flightHeader.flightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.flight-number-display-override" => Some(("flightHeader.flightNumberDisplayOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.kind" => Some(("flightHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.content-description.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.description" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-alliance-logo.source-uri.uri" => Some(("flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.content-description.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.description" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.localized-description.kind" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-logo.source-uri.uri" => Some(("flightHeader.operatingCarrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.kind" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.language" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.default-value.value" => Some(("flightHeader.operatingCarrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.airline-name.kind" => Some(("flightHeader.operatingCarrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.carrier-iata-code" => Some(("flightHeader.operatingCarrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.carrier-icao-code" => Some(("flightHeader.operatingCarrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-carrier.kind" => Some(("flightHeader.operatingCarrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-header.operating-flight-number" => Some(("flightHeader.operatingFlightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "flight-status" => Some(("flightStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "language-override" => Some(("languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-boarding-date-time" => Some(("localBoardingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-estimated-or-actual-arrival-date-time" => Some(("localEstimatedOrActualArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-estimated-or-actual-departure-date-time" => Some(("localEstimatedOrActualDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-gate-closing-date-time" => Some(("localGateClosingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-scheduled-arrival-date-time" => Some(("localScheduledArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "local-scheduled-departure-date-time" => Some(("localScheduledDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-iata-code" => Some(("origin.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.kind" => Some(("origin.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.language" => Some(("origin.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.default-value.value" => Some(("origin.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.airport-name-override.kind" => Some(("origin.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.gate" => Some(("origin.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.kind" => Some(("origin.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "origin.terminal" => Some(("origin.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["airline-alliance-logo", "airline-logo", "airline-name", "airport-iata-code", "airport-name-override", "allow-multiple-users-per-object", "animation-type", "boarding-and-seating-policy", "boarding-policy", "callback-options", "carrier", "carrier-iata-code", "carrier-icao-code", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "destination", "enable-smart-tap", "first-row-option", "flight-header", "flight-number", "flight-number-display-override", "flight-status", "gate", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "language-override", "list-template-override", "local-boarding-date-time", "local-estimated-or-actual-arrival-date-time", "local-estimated-or-actual-departure-date-time", "local-gate-closing-date-time", "local-scheduled-arrival-date-time", "local-scheduled-departure-date-time", "localized-description", "localized-issuer-name", "multiple-devices-and-holders-allowed-status", "operating-carrier", "operating-flight-number", "origin", "redemption-issuers", "review", "review-status", "seat-class-policy", "security-animation", "show-last-update-time", "source-uri", "terminal", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::FlightClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.flightclass().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightobject_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.flightobject().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightobject_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.flightobject().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightobject_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-door" => Some(("boardingAndSeatingInfo.boardingDoor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-group" => Some(("boardingAndSeatingInfo.boardingGroup", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-position" => Some(("boardingAndSeatingInfo.boardingPosition", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.language" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.value" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.description" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.language" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.value" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.uri" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.kind" => Some(("boardingAndSeatingInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.kind" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.language" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.value" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.kind" => Some(("boardingAndSeatingInfo.seatAssignment.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-class" => Some(("boardingAndSeatingInfo.seatClass", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-number" => Some(("boardingAndSeatingInfo.seatNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.sequence-number" => Some(("boardingAndSeatingInfo.sequenceNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.boarding-policy" => Some(("classReference.boardingAndSeatingPolicy.boardingPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.kind" => Some(("classReference.boardingAndSeatingPolicy.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.seat-class-policy" => Some(("classReference.boardingAndSeatingPolicy.seatClassPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-iata-code" => Some(("classReference.destination.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.kind" => Some(("classReference.destination.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.language" => Some(("classReference.destination.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.value" => Some(("classReference.destination.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.kind" => Some(("classReference.destination.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.gate" => Some(("classReference.destination.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.kind" => Some(("classReference.destination.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.terminal" => Some(("classReference.destination.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.description" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.uri" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.description" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.uri" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.language" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.value" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.kind" => Some(("classReference.flightHeader.carrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.carrier-iata-code" => Some(("classReference.flightHeader.carrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.carrier-icao-code" => Some(("classReference.flightHeader.carrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.kind" => Some(("classReference.flightHeader.carrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.flight-number" => Some(("classReference.flightHeader.flightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.flight-number-display-override" => Some(("classReference.flightHeader.flightNumberDisplayOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.kind" => Some(("classReference.flightHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.description" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.uri" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.description" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.uri" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.carrier-iata-code" => Some(("classReference.flightHeader.operatingCarrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.carrier-icao-code" => Some(("classReference.flightHeader.operatingCarrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.kind" => Some(("classReference.flightHeader.operatingCarrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-flight-number" => Some(("classReference.flightHeader.operatingFlightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-status" => Some(("classReference.flightStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.language-override" => Some(("classReference.languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-boarding-date-time" => Some(("classReference.localBoardingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-estimated-or-actual-arrival-date-time" => Some(("classReference.localEstimatedOrActualArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-estimated-or-actual-departure-date-time" => Some(("classReference.localEstimatedOrActualDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-gate-closing-date-time" => Some(("classReference.localGateClosingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-scheduled-arrival-date-time" => Some(("classReference.localScheduledArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-scheduled-departure-date-time" => Some(("classReference.localScheduledDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-iata-code" => Some(("classReference.origin.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.kind" => Some(("classReference.origin.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.language" => Some(("classReference.origin.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.value" => Some(("classReference.origin.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.kind" => Some(("classReference.origin.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.gate" => Some(("classReference.origin.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.kind" => Some(("classReference.origin.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.terminal" => Some(("classReference.origin.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "passenger-name" => Some(("passengerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.confirmation-code" => Some(("reservationInfo.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.eticket-number" => Some(("reservationInfo.eticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-number" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.kind" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.language" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.value" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.kind" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.kind" => Some(("reservationInfo.frequentFlyerInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.kind" => Some(("reservationInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.kind" => Some(("securityProgramLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.language" => Some(("securityProgramLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.value" => Some(("securityProgramLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.kind" => Some(("securityProgramLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.kind" => Some(("securityProgramLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.description" => Some(("securityProgramLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.kind" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.language" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.value" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.kind" => Some(("securityProgramLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.uri" => Some(("securityProgramLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["airline-alliance-logo", "airline-logo", "airline-name", "airport-iata-code", "airport-name-override", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "boarding-and-seating-info", "boarding-and-seating-policy", "boarding-door", "boarding-group", "boarding-policy", "boarding-position", "boarding-privilege-image", "callback-options", "carrier", "carrier-iata-code", "carrier-icao-code", "class-id", "class-reference", "class-template-info", "comments", "confirmation-code", "content-description", "country-code", "date", "default-value", "description", "destination", "disable-expiration-notification", "enable-smart-tap", "end", "eticket-number", "first-row-option", "flight-header", "flight-number", "flight-number-display-override", "flight-status", "frequent-flyer-info", "frequent-flyer-number", "frequent-flyer-program-name", "gate", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "language-override", "list-template-override", "local-boarding-date-time", "local-estimated-or-actual-arrival-date-time", "local-estimated-or-actual-departure-date-time", "local-gate-closing-date-time", "local-scheduled-arrival-date-time", "local-scheduled-departure-date-time", "localized-description", "localized-issuer-name", "multiple-devices-and-holders-allowed-status", "operating-carrier", "operating-flight-number", "origin", "passenger-name", "period-millis", "redemption-issuers", "render-encoding", "reservation-info", "review", "review-status", "rotating-barcode", "seat-assignment", "seat-class", "seat-class-policy", "seat-number", "security-animation", "security-program-logo", "sequence-number", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "terminal", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::FlightObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.flightobject().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightobject_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.flightobject().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "class-id" => { + call = call.class_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["class-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightobject_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-door" => Some(("boardingAndSeatingInfo.boardingDoor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-group" => Some(("boardingAndSeatingInfo.boardingGroup", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-position" => Some(("boardingAndSeatingInfo.boardingPosition", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.language" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.value" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.description" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.language" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.value" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.uri" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.kind" => Some(("boardingAndSeatingInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.kind" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.language" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.value" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.kind" => Some(("boardingAndSeatingInfo.seatAssignment.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-class" => Some(("boardingAndSeatingInfo.seatClass", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-number" => Some(("boardingAndSeatingInfo.seatNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.sequence-number" => Some(("boardingAndSeatingInfo.sequenceNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.boarding-policy" => Some(("classReference.boardingAndSeatingPolicy.boardingPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.kind" => Some(("classReference.boardingAndSeatingPolicy.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.seat-class-policy" => Some(("classReference.boardingAndSeatingPolicy.seatClassPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-iata-code" => Some(("classReference.destination.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.kind" => Some(("classReference.destination.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.language" => Some(("classReference.destination.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.value" => Some(("classReference.destination.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.kind" => Some(("classReference.destination.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.gate" => Some(("classReference.destination.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.kind" => Some(("classReference.destination.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.terminal" => Some(("classReference.destination.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.description" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.uri" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.description" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.uri" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.language" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.value" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.kind" => Some(("classReference.flightHeader.carrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.carrier-iata-code" => Some(("classReference.flightHeader.carrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.carrier-icao-code" => Some(("classReference.flightHeader.carrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.kind" => Some(("classReference.flightHeader.carrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.flight-number" => Some(("classReference.flightHeader.flightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.flight-number-display-override" => Some(("classReference.flightHeader.flightNumberDisplayOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.kind" => Some(("classReference.flightHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.description" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.uri" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.description" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.uri" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.carrier-iata-code" => Some(("classReference.flightHeader.operatingCarrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.carrier-icao-code" => Some(("classReference.flightHeader.operatingCarrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.kind" => Some(("classReference.flightHeader.operatingCarrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-flight-number" => Some(("classReference.flightHeader.operatingFlightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-status" => Some(("classReference.flightStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.language-override" => Some(("classReference.languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-boarding-date-time" => Some(("classReference.localBoardingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-estimated-or-actual-arrival-date-time" => Some(("classReference.localEstimatedOrActualArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-estimated-or-actual-departure-date-time" => Some(("classReference.localEstimatedOrActualDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-gate-closing-date-time" => Some(("classReference.localGateClosingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-scheduled-arrival-date-time" => Some(("classReference.localScheduledArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-scheduled-departure-date-time" => Some(("classReference.localScheduledDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-iata-code" => Some(("classReference.origin.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.kind" => Some(("classReference.origin.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.language" => Some(("classReference.origin.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.value" => Some(("classReference.origin.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.kind" => Some(("classReference.origin.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.gate" => Some(("classReference.origin.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.kind" => Some(("classReference.origin.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.terminal" => Some(("classReference.origin.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "passenger-name" => Some(("passengerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.confirmation-code" => Some(("reservationInfo.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.eticket-number" => Some(("reservationInfo.eticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-number" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.kind" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.language" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.value" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.kind" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.kind" => Some(("reservationInfo.frequentFlyerInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.kind" => Some(("reservationInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.kind" => Some(("securityProgramLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.language" => Some(("securityProgramLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.value" => Some(("securityProgramLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.kind" => Some(("securityProgramLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.kind" => Some(("securityProgramLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.description" => Some(("securityProgramLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.kind" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.language" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.value" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.kind" => Some(("securityProgramLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.uri" => Some(("securityProgramLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["airline-alliance-logo", "airline-logo", "airline-name", "airport-iata-code", "airport-name-override", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "boarding-and-seating-info", "boarding-and-seating-policy", "boarding-door", "boarding-group", "boarding-policy", "boarding-position", "boarding-privilege-image", "callback-options", "carrier", "carrier-iata-code", "carrier-icao-code", "class-id", "class-reference", "class-template-info", "comments", "confirmation-code", "content-description", "country-code", "date", "default-value", "description", "destination", "disable-expiration-notification", "enable-smart-tap", "end", "eticket-number", "first-row-option", "flight-header", "flight-number", "flight-number-display-override", "flight-status", "frequent-flyer-info", "frequent-flyer-number", "frequent-flyer-program-name", "gate", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "language-override", "list-template-override", "local-boarding-date-time", "local-estimated-or-actual-arrival-date-time", "local-estimated-or-actual-departure-date-time", "local-gate-closing-date-time", "local-scheduled-arrival-date-time", "local-scheduled-departure-date-time", "localized-description", "localized-issuer-name", "multiple-devices-and-holders-allowed-status", "operating-carrier", "operating-flight-number", "origin", "passenger-name", "period-millis", "redemption-issuers", "render-encoding", "reservation-info", "review", "review-status", "rotating-barcode", "seat-assignment", "seat-class", "seat-class-policy", "seat-number", "security-animation", "security-program-logo", "sequence-number", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "terminal", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::FlightObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.flightobject().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _flightobject_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-door" => Some(("boardingAndSeatingInfo.boardingDoor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-group" => Some(("boardingAndSeatingInfo.boardingGroup", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-position" => Some(("boardingAndSeatingInfo.boardingPosition", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.language" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.default-value.value" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.content-description.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.description" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.language" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.default-value.value" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.localized-description.kind" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.boarding-privilege-image.source-uri.uri" => Some(("boardingAndSeatingInfo.boardingPrivilegeImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.kind" => Some(("boardingAndSeatingInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.kind" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.language" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.default-value.value" => Some(("boardingAndSeatingInfo.seatAssignment.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-assignment.kind" => Some(("boardingAndSeatingInfo.seatAssignment.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-class" => Some(("boardingAndSeatingInfo.seatClass", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.seat-number" => Some(("boardingAndSeatingInfo.seatNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "boarding-and-seating-info.sequence-number" => Some(("boardingAndSeatingInfo.sequenceNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.boarding-policy" => Some(("classReference.boardingAndSeatingPolicy.boardingPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.kind" => Some(("classReference.boardingAndSeatingPolicy.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.boarding-and-seating-policy.seat-class-policy" => Some(("classReference.boardingAndSeatingPolicy.seatClassPolicy", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-iata-code" => Some(("classReference.destination.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.kind" => Some(("classReference.destination.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.language" => Some(("classReference.destination.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.default-value.value" => Some(("classReference.destination.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.airport-name-override.kind" => Some(("classReference.destination.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.gate" => Some(("classReference.destination.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.kind" => Some(("classReference.destination.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.destination.terminal" => Some(("classReference.destination.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.content-description.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.description" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-alliance-logo.source-uri.uri" => Some(("classReference.flightHeader.carrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.content-description.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.description" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-logo.source-uri.uri" => Some(("classReference.flightHeader.carrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.kind" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.language" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.default-value.value" => Some(("classReference.flightHeader.carrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.airline-name.kind" => Some(("classReference.flightHeader.carrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.carrier-iata-code" => Some(("classReference.flightHeader.carrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.carrier-icao-code" => Some(("classReference.flightHeader.carrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.carrier.kind" => Some(("classReference.flightHeader.carrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.flight-number" => Some(("classReference.flightHeader.flightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.flight-number-display-override" => Some(("classReference.flightHeader.flightNumberDisplayOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.kind" => Some(("classReference.flightHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.content-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.description" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-alliance-logo.source-uri.uri" => Some(("classReference.flightHeader.operatingCarrier.airlineAllianceLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.content-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.description" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.localized-description.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-logo.source-uri.uri" => Some(("classReference.flightHeader.operatingCarrier.airlineLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.language" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.default-value.value" => Some(("classReference.flightHeader.operatingCarrier.airlineName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.airline-name.kind" => Some(("classReference.flightHeader.operatingCarrier.airlineName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.carrier-iata-code" => Some(("classReference.flightHeader.operatingCarrier.carrierIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.carrier-icao-code" => Some(("classReference.flightHeader.operatingCarrier.carrierIcaoCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-carrier.kind" => Some(("classReference.flightHeader.operatingCarrier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-header.operating-flight-number" => Some(("classReference.flightHeader.operatingFlightNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.flight-status" => Some(("classReference.flightStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.language-override" => Some(("classReference.languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-boarding-date-time" => Some(("classReference.localBoardingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-estimated-or-actual-arrival-date-time" => Some(("classReference.localEstimatedOrActualArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-estimated-or-actual-departure-date-time" => Some(("classReference.localEstimatedOrActualDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-gate-closing-date-time" => Some(("classReference.localGateClosingDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-scheduled-arrival-date-time" => Some(("classReference.localScheduledArrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.local-scheduled-departure-date-time" => Some(("classReference.localScheduledDepartureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-iata-code" => Some(("classReference.origin.airportIataCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.kind" => Some(("classReference.origin.airportNameOverride.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.language" => Some(("classReference.origin.airportNameOverride.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.default-value.value" => Some(("classReference.origin.airportNameOverride.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.airport-name-override.kind" => Some(("classReference.origin.airportNameOverride.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.gate" => Some(("classReference.origin.gate", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.kind" => Some(("classReference.origin.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.origin.terminal" => Some(("classReference.origin.terminal", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "passenger-name" => Some(("passengerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.confirmation-code" => Some(("reservationInfo.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.eticket-number" => Some(("reservationInfo.eticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-number" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.kind" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.language" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.default-value.value" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.frequent-flyer-program-name.kind" => Some(("reservationInfo.frequentFlyerInfo.frequentFlyerProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.frequent-flyer-info.kind" => Some(("reservationInfo.frequentFlyerInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "reservation-info.kind" => Some(("reservationInfo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.kind" => Some(("securityProgramLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.language" => Some(("securityProgramLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.default-value.value" => Some(("securityProgramLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.content-description.kind" => Some(("securityProgramLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.kind" => Some(("securityProgramLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.description" => Some(("securityProgramLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.kind" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.language" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.default-value.value" => Some(("securityProgramLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.localized-description.kind" => Some(("securityProgramLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-program-logo.source-uri.uri" => Some(("securityProgramLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["airline-alliance-logo", "airline-logo", "airline-name", "airport-iata-code", "airport-name-override", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "boarding-and-seating-info", "boarding-and-seating-policy", "boarding-door", "boarding-group", "boarding-policy", "boarding-position", "boarding-privilege-image", "callback-options", "carrier", "carrier-iata-code", "carrier-icao-code", "class-id", "class-reference", "class-template-info", "comments", "confirmation-code", "content-description", "country-code", "date", "default-value", "description", "destination", "disable-expiration-notification", "enable-smart-tap", "end", "eticket-number", "first-row-option", "flight-header", "flight-number", "flight-number-display-override", "flight-status", "frequent-flyer-info", "frequent-flyer-number", "frequent-flyer-program-name", "gate", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "language-override", "list-template-override", "local-boarding-date-time", "local-estimated-or-actual-arrival-date-time", "local-estimated-or-actual-departure-date-time", "local-gate-closing-date-time", "local-scheduled-arrival-date-time", "local-scheduled-departure-date-time", "localized-description", "localized-issuer-name", "multiple-devices-and-holders-allowed-status", "operating-carrier", "operating-flight-number", "origin", "passenger-name", "period-millis", "redemption-issuers", "render-encoding", "reservation-info", "review", "review-status", "rotating-barcode", "seat-assignment", "seat-class", "seat-class-policy", "seat-number", "security-animation", "security-program-logo", "sequence-number", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "terminal", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::FlightObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.flightobject().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericclass_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.genericclass().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericclass_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["animation-type", "callback-options", "class-template-info", "enable-smart-tap", "first-row-option", "id", "list-template-override", "multiple-devices-and-holders-allowed-status", "redemption-issuers", "security-animation", "transit-option", "update-request-url", "url", "view-unlock-requirement"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GenericClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.genericclass().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericclass_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.genericclass().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "issuer-id" => { + call = call.issuer_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["issuer-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericclass_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["animation-type", "callback-options", "class-template-info", "enable-smart-tap", "first-row-option", "id", "list-template-override", "multiple-devices-and-holders-allowed-status", "redemption-issuers", "security-animation", "transit-option", "update-request-url", "url", "view-unlock-requirement"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GenericClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.genericclass().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericclass_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["animation-type", "callback-options", "class-template-info", "enable-smart-tap", "first-row-option", "id", "list-template-override", "multiple-devices-and-holders-allowed-status", "redemption-issuers", "security-animation", "transit-option", "update-request-url", "url", "view-unlock-requirement"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GenericClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.genericclass().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericobject_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.genericobject().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericobject_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.kind" => Some(("cardTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.language" => Some(("cardTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.value" => Some(("cardTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.kind" => Some(("cardTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "generic-type" => Some(("genericType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "header.default-value.kind" => Some(("header.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.default-value.language" => Some(("header.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.default-value.value" => Some(("header.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.kind" => Some(("header.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "notifications.expiry-notification.enable-notification" => Some(("notifications.expiryNotification.enableNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "notifications.upcoming-notification.enable-notification" => Some(("notifications.upcomingNotification.enableNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.kind" => Some(("subheader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.language" => Some(("subheader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.value" => Some(("subheader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.kind" => Some(("subheader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "alternate-text", "android-app-link-info", "app-link-data", "app-logo-image", "app-target", "barcode", "card-title", "class-id", "content-description", "date", "default-value", "description", "enable-notification", "end", "expiry-notification", "generic-type", "grouping-id", "grouping-info", "has-users", "header", "hero-image", "hex-background-color", "id", "ios-app-link-info", "kind", "language", "localized-description", "logo", "notifications", "period-millis", "render-encoding", "rotating-barcode", "show-code-text", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "subheader", "target-uri", "title", "totp-details", "type", "upcoming-notification", "uri", "valid-time-interval", "value", "value-pattern", "web-app-link-info"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GenericObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.genericobject().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericobject_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.genericobject().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "class-id" => { + call = call.class_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["class-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericobject_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.kind" => Some(("cardTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.language" => Some(("cardTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.value" => Some(("cardTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.kind" => Some(("cardTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "generic-type" => Some(("genericType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "header.default-value.kind" => Some(("header.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.default-value.language" => Some(("header.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.default-value.value" => Some(("header.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.kind" => Some(("header.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "notifications.expiry-notification.enable-notification" => Some(("notifications.expiryNotification.enableNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "notifications.upcoming-notification.enable-notification" => Some(("notifications.upcomingNotification.enableNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.kind" => Some(("subheader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.language" => Some(("subheader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.value" => Some(("subheader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.kind" => Some(("subheader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "alternate-text", "android-app-link-info", "app-link-data", "app-logo-image", "app-target", "barcode", "card-title", "class-id", "content-description", "date", "default-value", "description", "enable-notification", "end", "expiry-notification", "generic-type", "grouping-id", "grouping-info", "has-users", "header", "hero-image", "hex-background-color", "id", "ios-app-link-info", "kind", "language", "localized-description", "logo", "notifications", "period-millis", "render-encoding", "rotating-barcode", "show-code-text", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "subheader", "target-uri", "title", "totp-details", "type", "upcoming-notification", "uri", "valid-time-interval", "value", "value-pattern", "web-app-link-info"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GenericObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.genericobject().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _genericobject_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.kind" => Some(("cardTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.language" => Some(("cardTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.default-value.value" => Some(("cardTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-title.kind" => Some(("cardTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "generic-type" => Some(("genericType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "header.default-value.kind" => Some(("header.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.default-value.language" => Some(("header.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.default-value.value" => Some(("header.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "header.kind" => Some(("header.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "notifications.expiry-notification.enable-notification" => Some(("notifications.expiryNotification.enableNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "notifications.upcoming-notification.enable-notification" => Some(("notifications.upcomingNotification.enableNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.kind" => Some(("subheader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.language" => Some(("subheader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.default-value.value" => Some(("subheader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "subheader.kind" => Some(("subheader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "alternate-text", "android-app-link-info", "app-link-data", "app-logo-image", "app-target", "barcode", "card-title", "class-id", "content-description", "date", "default-value", "description", "enable-notification", "end", "expiry-notification", "generic-type", "grouping-id", "grouping-info", "has-users", "header", "hero-image", "hex-background-color", "id", "ios-app-link-info", "kind", "language", "localized-description", "logo", "notifications", "period-millis", "render-encoding", "rotating-barcode", "show-code-text", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "subheader", "target-uri", "title", "totp-details", "type", "upcoming-notification", "uri", "valid-time-interval", "value", "value-pattern", "web-app-link-info"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GenericObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.genericobject().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardclass_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.giftcardclass().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardclass_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.giftcardclass().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardclass_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-barcode-redemption" => Some(("allowBarcodeRedemption", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-number-label" => Some(("cardNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-number-label" => Some(("eventNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.kind" => Some(("localizedCardNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.language" => Some(("localizedCardNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.value" => Some(("localizedCardNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.kind" => Some(("localizedCardNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.kind" => Some(("localizedEventNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.language" => Some(("localizedEventNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.value" => Some(("localizedEventNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.kind" => Some(("localizedEventNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.kind" => Some(("localizedMerchantName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.language" => Some(("localizedMerchantName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.value" => Some(("localizedMerchantName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.kind" => Some(("localizedMerchantName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.kind" => Some(("localizedPinLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.language" => Some(("localizedPinLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.value" => Some(("localizedPinLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.kind" => Some(("localizedPinLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "merchant-name" => Some(("merchantName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "pin-label" => Some(("pinLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.kind" => Some(("programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.language" => Some(("programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.value" => Some(("programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.kind" => Some(("programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.kind" => Some(("programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.description" => Some(("programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.kind" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.language" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.value" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.kind" => Some(("programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.uri" => Some(("programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-barcode-redemption", "allow-multiple-users-per-object", "animation-type", "callback-options", "card-number-label", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "enable-smart-tap", "event-number-label", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-card-number-label", "localized-description", "localized-event-number-label", "localized-issuer-name", "localized-merchant-name", "localized-pin-label", "merchant-name", "multiple-devices-and-holders-allowed-status", "pin-label", "program-logo", "redemption-issuers", "review", "review-status", "security-animation", "show-last-update-time", "source-uri", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GiftCardClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.giftcardclass().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardclass_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.giftcardclass().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "issuer-id" => { + call = call.issuer_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["issuer-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardclass_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-barcode-redemption" => Some(("allowBarcodeRedemption", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-number-label" => Some(("cardNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-number-label" => Some(("eventNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.kind" => Some(("localizedCardNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.language" => Some(("localizedCardNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.value" => Some(("localizedCardNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.kind" => Some(("localizedCardNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.kind" => Some(("localizedEventNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.language" => Some(("localizedEventNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.value" => Some(("localizedEventNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.kind" => Some(("localizedEventNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.kind" => Some(("localizedMerchantName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.language" => Some(("localizedMerchantName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.value" => Some(("localizedMerchantName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.kind" => Some(("localizedMerchantName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.kind" => Some(("localizedPinLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.language" => Some(("localizedPinLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.value" => Some(("localizedPinLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.kind" => Some(("localizedPinLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "merchant-name" => Some(("merchantName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "pin-label" => Some(("pinLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.kind" => Some(("programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.language" => Some(("programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.value" => Some(("programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.kind" => Some(("programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.kind" => Some(("programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.description" => Some(("programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.kind" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.language" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.value" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.kind" => Some(("programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.uri" => Some(("programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-barcode-redemption", "allow-multiple-users-per-object", "animation-type", "callback-options", "card-number-label", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "enable-smart-tap", "event-number-label", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-card-number-label", "localized-description", "localized-event-number-label", "localized-issuer-name", "localized-merchant-name", "localized-pin-label", "merchant-name", "multiple-devices-and-holders-allowed-status", "pin-label", "program-logo", "redemption-issuers", "review", "review-status", "security-animation", "show-last-update-time", "source-uri", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GiftCardClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.giftcardclass().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardclass_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-barcode-redemption" => Some(("allowBarcodeRedemption", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-number-label" => Some(("cardNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-number-label" => Some(("eventNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.kind" => Some(("localizedCardNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.language" => Some(("localizedCardNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.default-value.value" => Some(("localizedCardNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-card-number-label.kind" => Some(("localizedCardNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.kind" => Some(("localizedEventNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.language" => Some(("localizedEventNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.default-value.value" => Some(("localizedEventNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-event-number-label.kind" => Some(("localizedEventNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.kind" => Some(("localizedMerchantName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.language" => Some(("localizedMerchantName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.default-value.value" => Some(("localizedMerchantName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-merchant-name.kind" => Some(("localizedMerchantName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.kind" => Some(("localizedPinLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.language" => Some(("localizedPinLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.default-value.value" => Some(("localizedPinLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-pin-label.kind" => Some(("localizedPinLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "merchant-name" => Some(("merchantName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "pin-label" => Some(("pinLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.kind" => Some(("programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.language" => Some(("programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.value" => Some(("programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.kind" => Some(("programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.kind" => Some(("programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.description" => Some(("programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.kind" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.language" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.value" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.kind" => Some(("programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.uri" => Some(("programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-barcode-redemption", "allow-multiple-users-per-object", "animation-type", "callback-options", "card-number-label", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "enable-smart-tap", "event-number-label", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-card-number-label", "localized-description", "localized-event-number-label", "localized-issuer-name", "localized-merchant-name", "localized-pin-label", "merchant-name", "multiple-devices-and-holders-allowed-status", "pin-label", "program-logo", "redemption-issuers", "review", "review-status", "security-animation", "show-last-update-time", "source-uri", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GiftCardClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.giftcardclass().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardobject_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.giftcardobject().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardobject_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.giftcardobject().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardobject_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.currency-code" => Some(("balance.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.kind" => Some(("balance.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.micros" => Some(("balance.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance-update-time.date" => Some(("balanceUpdateTime.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-number" => Some(("cardNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-barcode-redemption" => Some(("classReference.allowBarcodeRedemption", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.card-number-label" => Some(("classReference.cardNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.event-number-label" => Some(("classReference.eventNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.kind" => Some(("classReference.localizedCardNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.language" => Some(("classReference.localizedCardNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.value" => Some(("classReference.localizedCardNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.kind" => Some(("classReference.localizedCardNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.kind" => Some(("classReference.localizedEventNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.language" => Some(("classReference.localizedEventNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.value" => Some(("classReference.localizedEventNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.kind" => Some(("classReference.localizedEventNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.kind" => Some(("classReference.localizedMerchantName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.language" => Some(("classReference.localizedMerchantName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.value" => Some(("classReference.localizedMerchantName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.kind" => Some(("classReference.localizedMerchantName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.kind" => Some(("classReference.localizedPinLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.language" => Some(("classReference.localizedPinLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.value" => Some(("classReference.localizedPinLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.kind" => Some(("classReference.localizedPinLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.merchant-name" => Some(("classReference.merchantName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.pin-label" => Some(("classReference.pinLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.kind" => Some(("classReference.programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.language" => Some(("classReference.programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.value" => Some(("classReference.programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.kind" => Some(("classReference.programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.kind" => Some(("classReference.programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.description" => Some(("classReference.programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.language" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.value" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.uri" => Some(("classReference.programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-number" => Some(("eventNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "pin" => Some(("pin", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "allow-barcode-redemption", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "balance", "balance-update-time", "barcode", "callback-options", "card-number", "card-number-label", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "currency-code", "date", "default-value", "description", "disable-expiration-notification", "enable-smart-tap", "end", "event-number", "event-number-label", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "list-template-override", "localized-card-number-label", "localized-description", "localized-event-number-label", "localized-issuer-name", "localized-merchant-name", "localized-pin-label", "merchant-name", "micros", "multiple-devices-and-holders-allowed-status", "period-millis", "pin", "pin-label", "program-logo", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GiftCardObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.giftcardobject().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardobject_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.giftcardobject().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "class-id" => { + call = call.class_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["class-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardobject_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.currency-code" => Some(("balance.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.kind" => Some(("balance.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.micros" => Some(("balance.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance-update-time.date" => Some(("balanceUpdateTime.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-number" => Some(("cardNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-barcode-redemption" => Some(("classReference.allowBarcodeRedemption", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.card-number-label" => Some(("classReference.cardNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.event-number-label" => Some(("classReference.eventNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.kind" => Some(("classReference.localizedCardNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.language" => Some(("classReference.localizedCardNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.value" => Some(("classReference.localizedCardNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.kind" => Some(("classReference.localizedCardNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.kind" => Some(("classReference.localizedEventNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.language" => Some(("classReference.localizedEventNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.value" => Some(("classReference.localizedEventNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.kind" => Some(("classReference.localizedEventNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.kind" => Some(("classReference.localizedMerchantName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.language" => Some(("classReference.localizedMerchantName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.value" => Some(("classReference.localizedMerchantName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.kind" => Some(("classReference.localizedMerchantName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.kind" => Some(("classReference.localizedPinLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.language" => Some(("classReference.localizedPinLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.value" => Some(("classReference.localizedPinLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.kind" => Some(("classReference.localizedPinLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.merchant-name" => Some(("classReference.merchantName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.pin-label" => Some(("classReference.pinLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.kind" => Some(("classReference.programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.language" => Some(("classReference.programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.value" => Some(("classReference.programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.kind" => Some(("classReference.programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.kind" => Some(("classReference.programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.description" => Some(("classReference.programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.language" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.value" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.uri" => Some(("classReference.programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-number" => Some(("eventNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "pin" => Some(("pin", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "allow-barcode-redemption", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "balance", "balance-update-time", "barcode", "callback-options", "card-number", "card-number-label", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "currency-code", "date", "default-value", "description", "disable-expiration-notification", "enable-smart-tap", "end", "event-number", "event-number-label", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "list-template-override", "localized-card-number-label", "localized-description", "localized-event-number-label", "localized-issuer-name", "localized-merchant-name", "localized-pin-label", "merchant-name", "micros", "multiple-devices-and-holders-allowed-status", "period-millis", "pin", "pin-label", "program-logo", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GiftCardObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.giftcardobject().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _giftcardobject_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.currency-code" => Some(("balance.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.kind" => Some(("balance.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance.micros" => Some(("balance.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "balance-update-time.date" => Some(("balanceUpdateTime.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "card-number" => Some(("cardNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-barcode-redemption" => Some(("classReference.allowBarcodeRedemption", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.card-number-label" => Some(("classReference.cardNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.event-number-label" => Some(("classReference.eventNumberLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.kind" => Some(("classReference.localizedCardNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.language" => Some(("classReference.localizedCardNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.default-value.value" => Some(("classReference.localizedCardNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-card-number-label.kind" => Some(("classReference.localizedCardNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.kind" => Some(("classReference.localizedEventNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.language" => Some(("classReference.localizedEventNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.default-value.value" => Some(("classReference.localizedEventNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-event-number-label.kind" => Some(("classReference.localizedEventNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.kind" => Some(("classReference.localizedMerchantName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.language" => Some(("classReference.localizedMerchantName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.default-value.value" => Some(("classReference.localizedMerchantName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-merchant-name.kind" => Some(("classReference.localizedMerchantName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.kind" => Some(("classReference.localizedPinLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.language" => Some(("classReference.localizedPinLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.default-value.value" => Some(("classReference.localizedPinLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-pin-label.kind" => Some(("classReference.localizedPinLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.merchant-name" => Some(("classReference.merchantName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.pin-label" => Some(("classReference.pinLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.kind" => Some(("classReference.programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.language" => Some(("classReference.programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.value" => Some(("classReference.programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.kind" => Some(("classReference.programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.kind" => Some(("classReference.programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.description" => Some(("classReference.programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.language" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.value" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.uri" => Some(("classReference.programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "event-number" => Some(("eventNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "pin" => Some(("pin", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "allow-barcode-redemption", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "balance", "balance-update-time", "barcode", "callback-options", "card-number", "card-number-label", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "currency-code", "date", "default-value", "description", "disable-expiration-notification", "enable-smart-tap", "end", "event-number", "event-number-label", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "list-template-override", "localized-card-number-label", "localized-description", "localized-event-number-label", "localized-issuer-name", "localized-merchant-name", "localized-pin-label", "merchant-name", "micros", "multiple-devices-and-holders-allowed-status", "period-millis", "pin", "pin-label", "program-logo", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::GiftCardObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.giftcardobject().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _issuer_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.issuer().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _issuer_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "contact-info.alerts-emails" => Some(("contactInfo.alertsEmails", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "contact-info.email" => Some(("contactInfo.email", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "contact-info.name" => Some(("contactInfo.name", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "contact-info.phone" => Some(("contactInfo.phone", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-url" => Some(("homepageUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "issuer-id" => Some(("issuerId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "name" => Some(("name", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-merchant-data.smart-tap-merchant-id" => Some(("smartTapMerchantData.smartTapMerchantId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["alerts-emails", "contact-info", "email", "homepage-url", "issuer-id", "name", "phone", "smart-tap-merchant-data", "smart-tap-merchant-id"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::Issuer = json::value::from_value(object).unwrap(); + let mut call = self.hub.issuer().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _issuer_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.issuer().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _issuer_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "contact-info.alerts-emails" => Some(("contactInfo.alertsEmails", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "contact-info.email" => Some(("contactInfo.email", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "contact-info.name" => Some(("contactInfo.name", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "contact-info.phone" => Some(("contactInfo.phone", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-url" => Some(("homepageUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "issuer-id" => Some(("issuerId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "name" => Some(("name", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-merchant-data.smart-tap-merchant-id" => Some(("smartTapMerchantData.smartTapMerchantId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["alerts-emails", "contact-info", "email", "homepage-url", "issuer-id", "name", "phone", "smart-tap-merchant-data", "smart-tap-merchant-id"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::Issuer = json::value::from_value(object).unwrap(); + let mut call = self.hub.issuer().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _issuer_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "contact-info.alerts-emails" => Some(("contactInfo.alertsEmails", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "contact-info.email" => Some(("contactInfo.email", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "contact-info.name" => Some(("contactInfo.name", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "contact-info.phone" => Some(("contactInfo.phone", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-url" => Some(("homepageUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "issuer-id" => Some(("issuerId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "name" => Some(("name", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-merchant-data.smart-tap-merchant-id" => Some(("smartTapMerchantData.smartTapMerchantId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["alerts-emails", "contact-info", "email", "homepage-url", "issuer-id", "name", "phone", "smart-tap-merchant-data", "smart-tap-merchant-id"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::Issuer = json::value::from_value(object).unwrap(); + let mut call = self.hub.issuer().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _jwt_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "jwt" => Some(("jwt", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["jwt"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::JwtResource = json::value::from_value(object).unwrap(); + let mut call = self.hub.jwt().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyclass_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyclass().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyclass_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.loyaltyclass().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyclass_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "account-id-label" => Some(("accountIdLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "account-name-label" => Some(("accountNameLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.description" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.id" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.language" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.value" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.uri" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-shared-datas" => Some(("discoverableProgram.merchantSignupInfo.signupSharedDatas", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "discoverable-program.merchant-signup-info.signup-website.description" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.id" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.language" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.value" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.uri" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.state" => Some(("discoverableProgram.state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.kind" => Some(("localizedAccountIdLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.language" => Some(("localizedAccountIdLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.value" => Some(("localizedAccountIdLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.kind" => Some(("localizedAccountIdLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.kind" => Some(("localizedAccountNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.language" => Some(("localizedAccountNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.value" => Some(("localizedAccountNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.kind" => Some(("localizedAccountNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.kind" => Some(("localizedProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.language" => Some(("localizedProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.value" => Some(("localizedProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.kind" => Some(("localizedProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.kind" => Some(("localizedRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.language" => Some(("localizedRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.value" => Some(("localizedRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.kind" => Some(("localizedRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.kind" => Some(("localizedRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.language" => Some(("localizedRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.value" => Some(("localizedRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.kind" => Some(("localizedRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.kind" => Some(("localizedSecondaryRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.language" => Some(("localizedSecondaryRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.value" => Some(("localizedSecondaryRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.kind" => Some(("localizedSecondaryRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.kind" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.language" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.value" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.kind" => Some(("localizedSecondaryRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.kind" => Some(("programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.language" => Some(("programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.value" => Some(("programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.kind" => Some(("programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.kind" => Some(("programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.description" => Some(("programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.kind" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.language" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.value" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.kind" => Some(("programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.uri" => Some(("programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-name" => Some(("programName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rewards-tier" => Some(("rewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rewards-tier-label" => Some(("rewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-rewards-tier" => Some(("secondaryRewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-rewards-tier-label" => Some(("secondaryRewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id-label", "account-name-label", "allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "discoverable-program", "enable-smart-tap", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-account-id-label", "localized-account-name-label", "localized-description", "localized-issuer-name", "localized-program-name", "localized-rewards-tier", "localized-rewards-tier-label", "localized-secondary-rewards-tier", "localized-secondary-rewards-tier-label", "merchant-signin-info", "merchant-signup-info", "multiple-devices-and-holders-allowed-status", "program-logo", "program-name", "redemption-issuers", "review", "review-status", "rewards-tier", "rewards-tier-label", "secondary-rewards-tier", "secondary-rewards-tier-label", "security-animation", "show-last-update-time", "signin-website", "signup-shared-datas", "signup-website", "source-uri", "state", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::LoyaltyClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyclass().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyclass_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.loyaltyclass().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "issuer-id" => { + call = call.issuer_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["issuer-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyclass_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "account-id-label" => Some(("accountIdLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "account-name-label" => Some(("accountNameLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.description" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.id" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.language" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.value" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.uri" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-shared-datas" => Some(("discoverableProgram.merchantSignupInfo.signupSharedDatas", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "discoverable-program.merchant-signup-info.signup-website.description" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.id" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.language" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.value" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.uri" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.state" => Some(("discoverableProgram.state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.kind" => Some(("localizedAccountIdLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.language" => Some(("localizedAccountIdLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.value" => Some(("localizedAccountIdLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.kind" => Some(("localizedAccountIdLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.kind" => Some(("localizedAccountNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.language" => Some(("localizedAccountNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.value" => Some(("localizedAccountNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.kind" => Some(("localizedAccountNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.kind" => Some(("localizedProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.language" => Some(("localizedProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.value" => Some(("localizedProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.kind" => Some(("localizedProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.kind" => Some(("localizedRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.language" => Some(("localizedRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.value" => Some(("localizedRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.kind" => Some(("localizedRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.kind" => Some(("localizedRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.language" => Some(("localizedRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.value" => Some(("localizedRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.kind" => Some(("localizedRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.kind" => Some(("localizedSecondaryRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.language" => Some(("localizedSecondaryRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.value" => Some(("localizedSecondaryRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.kind" => Some(("localizedSecondaryRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.kind" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.language" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.value" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.kind" => Some(("localizedSecondaryRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.kind" => Some(("programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.language" => Some(("programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.value" => Some(("programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.kind" => Some(("programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.kind" => Some(("programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.description" => Some(("programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.kind" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.language" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.value" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.kind" => Some(("programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.uri" => Some(("programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-name" => Some(("programName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rewards-tier" => Some(("rewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rewards-tier-label" => Some(("rewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-rewards-tier" => Some(("secondaryRewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-rewards-tier-label" => Some(("secondaryRewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id-label", "account-name-label", "allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "discoverable-program", "enable-smart-tap", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-account-id-label", "localized-account-name-label", "localized-description", "localized-issuer-name", "localized-program-name", "localized-rewards-tier", "localized-rewards-tier-label", "localized-secondary-rewards-tier", "localized-secondary-rewards-tier-label", "merchant-signin-info", "merchant-signup-info", "multiple-devices-and-holders-allowed-status", "program-logo", "program-name", "redemption-issuers", "review", "review-status", "rewards-tier", "rewards-tier-label", "secondary-rewards-tier", "secondary-rewards-tier-label", "security-animation", "show-last-update-time", "signin-website", "signup-shared-datas", "signup-website", "source-uri", "state", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::LoyaltyClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyclass().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyclass_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "account-id-label" => Some(("accountIdLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "account-name-label" => Some(("accountNameLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.description" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.id" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.language" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.value" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.localized-description.kind" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signin-info.signin-website.uri" => Some(("discoverableProgram.merchantSigninInfo.signinWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-shared-datas" => Some(("discoverableProgram.merchantSignupInfo.signupSharedDatas", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "discoverable-program.merchant-signup-info.signup-website.description" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.id" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.language" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.value" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.localized-description.kind" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.merchant-signup-info.signup-website.uri" => Some(("discoverableProgram.merchantSignupInfo.signupWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "discoverable-program.state" => Some(("discoverableProgram.state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.kind" => Some(("localizedAccountIdLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.language" => Some(("localizedAccountIdLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.default-value.value" => Some(("localizedAccountIdLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-id-label.kind" => Some(("localizedAccountIdLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.kind" => Some(("localizedAccountNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.language" => Some(("localizedAccountNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.default-value.value" => Some(("localizedAccountNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-account-name-label.kind" => Some(("localizedAccountNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.kind" => Some(("localizedProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.language" => Some(("localizedProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.default-value.value" => Some(("localizedProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-program-name.kind" => Some(("localizedProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.kind" => Some(("localizedRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.language" => Some(("localizedRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.default-value.value" => Some(("localizedRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier.kind" => Some(("localizedRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.kind" => Some(("localizedRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.language" => Some(("localizedRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.default-value.value" => Some(("localizedRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-rewards-tier-label.kind" => Some(("localizedRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.kind" => Some(("localizedSecondaryRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.language" => Some(("localizedSecondaryRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.default-value.value" => Some(("localizedSecondaryRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier.kind" => Some(("localizedSecondaryRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.kind" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.language" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.default-value.value" => Some(("localizedSecondaryRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-secondary-rewards-tier-label.kind" => Some(("localizedSecondaryRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.kind" => Some(("programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.language" => Some(("programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.default-value.value" => Some(("programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.content-description.kind" => Some(("programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.kind" => Some(("programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.description" => Some(("programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.kind" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.language" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.default-value.value" => Some(("programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.localized-description.kind" => Some(("programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-logo.source-uri.uri" => Some(("programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "program-name" => Some(("programName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rewards-tier" => Some(("rewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rewards-tier-label" => Some(("rewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-rewards-tier" => Some(("secondaryRewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-rewards-tier-label" => Some(("secondaryRewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id-label", "account-name-label", "allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "discoverable-program", "enable-smart-tap", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-account-id-label", "localized-account-name-label", "localized-description", "localized-issuer-name", "localized-program-name", "localized-rewards-tier", "localized-rewards-tier-label", "localized-secondary-rewards-tier", "localized-secondary-rewards-tier-label", "merchant-signin-info", "merchant-signup-info", "multiple-devices-and-holders-allowed-status", "program-logo", "program-name", "redemption-issuers", "review", "review-status", "rewards-tier", "rewards-tier-label", "secondary-rewards-tier", "secondary-rewards-tier-label", "security-animation", "show-last-update-time", "signin-website", "signup-shared-datas", "signup-website", "source-uri", "state", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::LoyaltyClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyclass().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyobject_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyobject().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyobject_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.loyaltyobject().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyobject_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "account-id" => Some(("accountId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "account-name" => Some(("accountName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.account-id-label" => Some(("classReference.accountIdLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.account-name-label" => Some(("classReference.accountNameLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.description" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.id" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.language" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.value" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.uri" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-shared-datas" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupSharedDatas", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.description" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.id" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.language" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.value" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.uri" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.state" => Some(("classReference.discoverableProgram.state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.kind" => Some(("classReference.localizedAccountIdLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.language" => Some(("classReference.localizedAccountIdLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.value" => Some(("classReference.localizedAccountIdLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.kind" => Some(("classReference.localizedAccountIdLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.kind" => Some(("classReference.localizedAccountNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.language" => Some(("classReference.localizedAccountNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.value" => Some(("classReference.localizedAccountNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.kind" => Some(("classReference.localizedAccountNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.kind" => Some(("classReference.localizedProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.language" => Some(("classReference.localizedProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.value" => Some(("classReference.localizedProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.kind" => Some(("classReference.localizedProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.kind" => Some(("classReference.localizedRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.language" => Some(("classReference.localizedRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.value" => Some(("classReference.localizedRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.kind" => Some(("classReference.localizedRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.kind" => Some(("classReference.localizedRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.language" => Some(("classReference.localizedRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.value" => Some(("classReference.localizedRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.kind" => Some(("classReference.localizedRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.kind" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.language" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.value" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.kind" => Some(("classReference.localizedSecondaryRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.kind" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.language" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.value" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.kind" => Some(("classReference.localizedSecondaryRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.kind" => Some(("classReference.programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.language" => Some(("classReference.programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.value" => Some(("classReference.programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.kind" => Some(("classReference.programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.kind" => Some(("classReference.programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.description" => Some(("classReference.programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.language" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.value" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.uri" => Some(("classReference.programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-name" => Some(("classReference.programName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.rewards-tier" => Some(("classReference.rewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.rewards-tier-label" => Some(("classReference.rewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.secondary-rewards-tier" => Some(("classReference.secondaryRewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.secondary-rewards-tier-label" => Some(("classReference.secondaryRewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "linked-offer-ids" => Some(("linkedOfferIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "loyalty-points.balance.double" => Some(("loyaltyPoints.balance.double", JsonTypeInfo { jtype: JsonType::Float, ctype: ComplexType::Pod })), + "loyalty-points.balance.int" => Some(("loyaltyPoints.balance.int", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.currency-code" => Some(("loyaltyPoints.balance.money.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.kind" => Some(("loyaltyPoints.balance.money.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.micros" => Some(("loyaltyPoints.balance.money.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.string" => Some(("loyaltyPoints.balance.string", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.label" => Some(("loyaltyPoints.label", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.kind" => Some(("loyaltyPoints.localizedLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.language" => Some(("loyaltyPoints.localizedLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.value" => Some(("loyaltyPoints.localizedLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.kind" => Some(("loyaltyPoints.localizedLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.double" => Some(("secondaryLoyaltyPoints.balance.double", JsonTypeInfo { jtype: JsonType::Float, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.int" => Some(("secondaryLoyaltyPoints.balance.int", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.currency-code" => Some(("secondaryLoyaltyPoints.balance.money.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.kind" => Some(("secondaryLoyaltyPoints.balance.money.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.micros" => Some(("secondaryLoyaltyPoints.balance.money.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.string" => Some(("secondaryLoyaltyPoints.balance.string", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.label" => Some(("secondaryLoyaltyPoints.label", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.kind" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.language" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.value" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.kind" => Some(("secondaryLoyaltyPoints.localizedLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id", "account-id-label", "account-name", "account-name-label", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "balance", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "currency-code", "date", "default-value", "description", "disable-expiration-notification", "discoverable-program", "double", "enable-smart-tap", "end", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "int", "ios-app-link-info", "issuer-name", "kind", "label", "language", "linked-offer-ids", "list-template-override", "localized-account-id-label", "localized-account-name-label", "localized-description", "localized-issuer-name", "localized-label", "localized-program-name", "localized-rewards-tier", "localized-rewards-tier-label", "localized-secondary-rewards-tier", "localized-secondary-rewards-tier-label", "loyalty-points", "merchant-signin-info", "merchant-signup-info", "micros", "money", "multiple-devices-and-holders-allowed-status", "period-millis", "program-logo", "program-name", "redemption-issuers", "render-encoding", "review", "review-status", "rewards-tier", "rewards-tier-label", "rotating-barcode", "secondary-loyalty-points", "secondary-rewards-tier", "secondary-rewards-tier-label", "security-animation", "show-code-text", "show-last-update-time", "signin-website", "signup-shared-datas", "signup-website", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "string", "target-uri", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::LoyaltyObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyobject().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyobject_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.loyaltyobject().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "class-id" => { + call = call.class_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["class-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyobject_modifylinkedofferobjects(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "linked-offer-object-ids.add-linked-offer-object-ids" => Some(("linkedOfferObjectIds.addLinkedOfferObjectIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "linked-offer-object-ids.remove-linked-offer-object-ids" => Some(("linkedOfferObjectIds.removeLinkedOfferObjectIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["add-linked-offer-object-ids", "linked-offer-object-ids", "remove-linked-offer-object-ids"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::ModifyLinkedOfferObjectsRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyobject().modifylinkedofferobjects(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyobject_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "account-id" => Some(("accountId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "account-name" => Some(("accountName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.account-id-label" => Some(("classReference.accountIdLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.account-name-label" => Some(("classReference.accountNameLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.description" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.id" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.language" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.value" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.uri" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-shared-datas" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupSharedDatas", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.description" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.id" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.language" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.value" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.uri" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.state" => Some(("classReference.discoverableProgram.state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.kind" => Some(("classReference.localizedAccountIdLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.language" => Some(("classReference.localizedAccountIdLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.value" => Some(("classReference.localizedAccountIdLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.kind" => Some(("classReference.localizedAccountIdLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.kind" => Some(("classReference.localizedAccountNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.language" => Some(("classReference.localizedAccountNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.value" => Some(("classReference.localizedAccountNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.kind" => Some(("classReference.localizedAccountNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.kind" => Some(("classReference.localizedProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.language" => Some(("classReference.localizedProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.value" => Some(("classReference.localizedProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.kind" => Some(("classReference.localizedProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.kind" => Some(("classReference.localizedRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.language" => Some(("classReference.localizedRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.value" => Some(("classReference.localizedRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.kind" => Some(("classReference.localizedRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.kind" => Some(("classReference.localizedRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.language" => Some(("classReference.localizedRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.value" => Some(("classReference.localizedRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.kind" => Some(("classReference.localizedRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.kind" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.language" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.value" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.kind" => Some(("classReference.localizedSecondaryRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.kind" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.language" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.value" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.kind" => Some(("classReference.localizedSecondaryRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.kind" => Some(("classReference.programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.language" => Some(("classReference.programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.value" => Some(("classReference.programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.kind" => Some(("classReference.programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.kind" => Some(("classReference.programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.description" => Some(("classReference.programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.language" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.value" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.uri" => Some(("classReference.programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-name" => Some(("classReference.programName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.rewards-tier" => Some(("classReference.rewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.rewards-tier-label" => Some(("classReference.rewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.secondary-rewards-tier" => Some(("classReference.secondaryRewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.secondary-rewards-tier-label" => Some(("classReference.secondaryRewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "linked-offer-ids" => Some(("linkedOfferIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "loyalty-points.balance.double" => Some(("loyaltyPoints.balance.double", JsonTypeInfo { jtype: JsonType::Float, ctype: ComplexType::Pod })), + "loyalty-points.balance.int" => Some(("loyaltyPoints.balance.int", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.currency-code" => Some(("loyaltyPoints.balance.money.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.kind" => Some(("loyaltyPoints.balance.money.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.micros" => Some(("loyaltyPoints.balance.money.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.string" => Some(("loyaltyPoints.balance.string", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.label" => Some(("loyaltyPoints.label", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.kind" => Some(("loyaltyPoints.localizedLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.language" => Some(("loyaltyPoints.localizedLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.value" => Some(("loyaltyPoints.localizedLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.kind" => Some(("loyaltyPoints.localizedLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.double" => Some(("secondaryLoyaltyPoints.balance.double", JsonTypeInfo { jtype: JsonType::Float, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.int" => Some(("secondaryLoyaltyPoints.balance.int", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.currency-code" => Some(("secondaryLoyaltyPoints.balance.money.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.kind" => Some(("secondaryLoyaltyPoints.balance.money.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.micros" => Some(("secondaryLoyaltyPoints.balance.money.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.string" => Some(("secondaryLoyaltyPoints.balance.string", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.label" => Some(("secondaryLoyaltyPoints.label", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.kind" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.language" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.value" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.kind" => Some(("secondaryLoyaltyPoints.localizedLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id", "account-id-label", "account-name", "account-name-label", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "balance", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "currency-code", "date", "default-value", "description", "disable-expiration-notification", "discoverable-program", "double", "enable-smart-tap", "end", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "int", "ios-app-link-info", "issuer-name", "kind", "label", "language", "linked-offer-ids", "list-template-override", "localized-account-id-label", "localized-account-name-label", "localized-description", "localized-issuer-name", "localized-label", "localized-program-name", "localized-rewards-tier", "localized-rewards-tier-label", "localized-secondary-rewards-tier", "localized-secondary-rewards-tier-label", "loyalty-points", "merchant-signin-info", "merchant-signup-info", "micros", "money", "multiple-devices-and-holders-allowed-status", "period-millis", "program-logo", "program-name", "redemption-issuers", "render-encoding", "review", "review-status", "rewards-tier", "rewards-tier-label", "rotating-barcode", "secondary-loyalty-points", "secondary-rewards-tier", "secondary-rewards-tier-label", "security-animation", "show-code-text", "show-last-update-time", "signin-website", "signup-shared-datas", "signup-website", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "string", "target-uri", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::LoyaltyObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyobject().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _loyaltyobject_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "account-id" => Some(("accountId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "account-name" => Some(("accountName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.account-id-label" => Some(("classReference.accountIdLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.account-name-label" => Some(("classReference.accountNameLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.description" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.id" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.language" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.default-value.value" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.localized-description.kind" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signin-info.signin-website.uri" => Some(("classReference.discoverableProgram.merchantSigninInfo.signinWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-shared-datas" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupSharedDatas", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.description" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.id" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.language" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.default-value.value" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.localized-description.kind" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.merchant-signup-info.signup-website.uri" => Some(("classReference.discoverableProgram.merchantSignupInfo.signupWebsite.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.discoverable-program.state" => Some(("classReference.discoverableProgram.state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.kind" => Some(("classReference.localizedAccountIdLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.language" => Some(("classReference.localizedAccountIdLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.default-value.value" => Some(("classReference.localizedAccountIdLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-id-label.kind" => Some(("classReference.localizedAccountIdLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.kind" => Some(("classReference.localizedAccountNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.language" => Some(("classReference.localizedAccountNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.default-value.value" => Some(("classReference.localizedAccountNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-account-name-label.kind" => Some(("classReference.localizedAccountNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.kind" => Some(("classReference.localizedProgramName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.language" => Some(("classReference.localizedProgramName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.default-value.value" => Some(("classReference.localizedProgramName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-program-name.kind" => Some(("classReference.localizedProgramName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.kind" => Some(("classReference.localizedRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.language" => Some(("classReference.localizedRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.default-value.value" => Some(("classReference.localizedRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier.kind" => Some(("classReference.localizedRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.kind" => Some(("classReference.localizedRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.language" => Some(("classReference.localizedRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.default-value.value" => Some(("classReference.localizedRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-rewards-tier-label.kind" => Some(("classReference.localizedRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.kind" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.language" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.default-value.value" => Some(("classReference.localizedSecondaryRewardsTier.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier.kind" => Some(("classReference.localizedSecondaryRewardsTier.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.kind" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.language" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.default-value.value" => Some(("classReference.localizedSecondaryRewardsTierLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-secondary-rewards-tier-label.kind" => Some(("classReference.localizedSecondaryRewardsTierLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.kind" => Some(("classReference.programLogo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.language" => Some(("classReference.programLogo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.default-value.value" => Some(("classReference.programLogo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.content-description.kind" => Some(("classReference.programLogo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.kind" => Some(("classReference.programLogo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.description" => Some(("classReference.programLogo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.language" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.default-value.value" => Some(("classReference.programLogo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.localized-description.kind" => Some(("classReference.programLogo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-logo.source-uri.uri" => Some(("classReference.programLogo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.program-name" => Some(("classReference.programName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.rewards-tier" => Some(("classReference.rewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.rewards-tier-label" => Some(("classReference.rewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.secondary-rewards-tier" => Some(("classReference.secondaryRewardsTier", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.secondary-rewards-tier-label" => Some(("classReference.secondaryRewardsTierLabel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "linked-offer-ids" => Some(("linkedOfferIds", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "loyalty-points.balance.double" => Some(("loyaltyPoints.balance.double", JsonTypeInfo { jtype: JsonType::Float, ctype: ComplexType::Pod })), + "loyalty-points.balance.int" => Some(("loyaltyPoints.balance.int", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.currency-code" => Some(("loyaltyPoints.balance.money.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.kind" => Some(("loyaltyPoints.balance.money.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.money.micros" => Some(("loyaltyPoints.balance.money.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.balance.string" => Some(("loyaltyPoints.balance.string", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.label" => Some(("loyaltyPoints.label", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.kind" => Some(("loyaltyPoints.localizedLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.language" => Some(("loyaltyPoints.localizedLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.default-value.value" => Some(("loyaltyPoints.localizedLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "loyalty-points.localized-label.kind" => Some(("loyaltyPoints.localizedLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.double" => Some(("secondaryLoyaltyPoints.balance.double", JsonTypeInfo { jtype: JsonType::Float, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.int" => Some(("secondaryLoyaltyPoints.balance.int", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.currency-code" => Some(("secondaryLoyaltyPoints.balance.money.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.kind" => Some(("secondaryLoyaltyPoints.balance.money.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.money.micros" => Some(("secondaryLoyaltyPoints.balance.money.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.balance.string" => Some(("secondaryLoyaltyPoints.balance.string", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.label" => Some(("secondaryLoyaltyPoints.label", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.kind" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.language" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.default-value.value" => Some(("secondaryLoyaltyPoints.localizedLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "secondary-loyalty-points.localized-label.kind" => Some(("secondaryLoyaltyPoints.localizedLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id", "account-id-label", "account-name", "account-name-label", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "balance", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "currency-code", "date", "default-value", "description", "disable-expiration-notification", "discoverable-program", "double", "enable-smart-tap", "end", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "int", "ios-app-link-info", "issuer-name", "kind", "label", "language", "linked-offer-ids", "list-template-override", "localized-account-id-label", "localized-account-name-label", "localized-description", "localized-issuer-name", "localized-label", "localized-program-name", "localized-rewards-tier", "localized-rewards-tier-label", "localized-secondary-rewards-tier", "localized-secondary-rewards-tier-label", "loyalty-points", "merchant-signin-info", "merchant-signup-info", "micros", "money", "multiple-devices-and-holders-allowed-status", "period-millis", "program-logo", "program-name", "redemption-issuers", "render-encoding", "review", "review-status", "rewards-tier", "rewards-tier-label", "rotating-barcode", "secondary-loyalty-points", "secondary-rewards-tier", "secondary-rewards-tier-label", "security-animation", "show-code-text", "show-last-update-time", "signin-website", "signup-shared-datas", "signup-website", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "string", "target-uri", "title", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::LoyaltyObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.loyaltyobject().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerclass_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.offerclass().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerclass_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.offerclass().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerclass_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "details" => Some(("details", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "fine-print" => Some(("finePrint", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.description" => Some(("helpUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.id" => Some(("helpUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.kind" => Some(("helpUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.kind" => Some(("helpUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.language" => Some(("helpUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.value" => Some(("helpUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.kind" => Some(("helpUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.uri" => Some(("helpUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.kind" => Some(("localizedDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.language" => Some(("localizedDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.value" => Some(("localizedDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.kind" => Some(("localizedDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.kind" => Some(("localizedFinePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.language" => Some(("localizedFinePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.value" => Some(("localizedFinePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.kind" => Some(("localizedFinePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.kind" => Some(("localizedProvider.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.language" => Some(("localizedProvider.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.value" => Some(("localizedProvider.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.kind" => Some(("localizedProvider.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.kind" => Some(("localizedShortTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.language" => Some(("localizedShortTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.value" => Some(("localizedShortTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.kind" => Some(("localizedShortTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.kind" => Some(("localizedTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.language" => Some(("localizedTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.value" => Some(("localizedTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.kind" => Some(("localizedTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "provider" => Some(("provider", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-channel" => Some(("redemptionChannel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "short-title" => Some(("shortTitle", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title" => Some(("title", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.kind" => Some(("titleImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.language" => Some(("titleImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.value" => Some(("titleImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.kind" => Some(("titleImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.kind" => Some(("titleImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.description" => Some(("titleImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.kind" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.language" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.value" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.kind" => Some(("titleImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.uri" => Some(("titleImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "details", "enable-smart-tap", "fine-print", "first-row-option", "help-uri", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-details", "localized-fine-print", "localized-issuer-name", "localized-provider", "localized-short-title", "localized-title", "multiple-devices-and-holders-allowed-status", "provider", "redemption-channel", "redemption-issuers", "review", "review-status", "security-animation", "short-title", "show-last-update-time", "source-uri", "title", "title-image", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::OfferClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.offerclass().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerclass_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.offerclass().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "issuer-id" => { + call = call.issuer_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["issuer-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerclass_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "details" => Some(("details", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "fine-print" => Some(("finePrint", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.description" => Some(("helpUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.id" => Some(("helpUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.kind" => Some(("helpUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.kind" => Some(("helpUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.language" => Some(("helpUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.value" => Some(("helpUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.kind" => Some(("helpUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.uri" => Some(("helpUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.kind" => Some(("localizedDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.language" => Some(("localizedDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.value" => Some(("localizedDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.kind" => Some(("localizedDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.kind" => Some(("localizedFinePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.language" => Some(("localizedFinePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.value" => Some(("localizedFinePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.kind" => Some(("localizedFinePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.kind" => Some(("localizedProvider.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.language" => Some(("localizedProvider.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.value" => Some(("localizedProvider.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.kind" => Some(("localizedProvider.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.kind" => Some(("localizedShortTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.language" => Some(("localizedShortTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.value" => Some(("localizedShortTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.kind" => Some(("localizedShortTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.kind" => Some(("localizedTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.language" => Some(("localizedTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.value" => Some(("localizedTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.kind" => Some(("localizedTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "provider" => Some(("provider", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-channel" => Some(("redemptionChannel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "short-title" => Some(("shortTitle", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title" => Some(("title", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.kind" => Some(("titleImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.language" => Some(("titleImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.value" => Some(("titleImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.kind" => Some(("titleImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.kind" => Some(("titleImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.description" => Some(("titleImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.kind" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.language" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.value" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.kind" => Some(("titleImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.uri" => Some(("titleImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "details", "enable-smart-tap", "fine-print", "first-row-option", "help-uri", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-details", "localized-fine-print", "localized-issuer-name", "localized-provider", "localized-short-title", "localized-title", "multiple-devices-and-holders-allowed-status", "provider", "redemption-channel", "redemption-issuers", "review", "review-status", "security-animation", "short-title", "show-last-update-time", "source-uri", "title", "title-image", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::OfferClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.offerclass().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerclass_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "details" => Some(("details", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "fine-print" => Some(("finePrint", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.description" => Some(("helpUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.id" => Some(("helpUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.kind" => Some(("helpUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.kind" => Some(("helpUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.language" => Some(("helpUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.default-value.value" => Some(("helpUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.localized-description.kind" => Some(("helpUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "help-uri.uri" => Some(("helpUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.kind" => Some(("localizedDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.language" => Some(("localizedDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.default-value.value" => Some(("localizedDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-details.kind" => Some(("localizedDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.kind" => Some(("localizedFinePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.language" => Some(("localizedFinePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.default-value.value" => Some(("localizedFinePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-fine-print.kind" => Some(("localizedFinePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.kind" => Some(("localizedProvider.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.language" => Some(("localizedProvider.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.default-value.value" => Some(("localizedProvider.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-provider.kind" => Some(("localizedProvider.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.kind" => Some(("localizedShortTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.language" => Some(("localizedShortTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.default-value.value" => Some(("localizedShortTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-short-title.kind" => Some(("localizedShortTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.kind" => Some(("localizedTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.language" => Some(("localizedTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.default-value.value" => Some(("localizedTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-title.kind" => Some(("localizedTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "provider" => Some(("provider", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-channel" => Some(("redemptionChannel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "short-title" => Some(("shortTitle", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title" => Some(("title", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.kind" => Some(("titleImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.language" => Some(("titleImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.default-value.value" => Some(("titleImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.content-description.kind" => Some(("titleImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.kind" => Some(("titleImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.description" => Some(("titleImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.kind" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.language" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.default-value.value" => Some(("titleImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.localized-description.kind" => Some(("titleImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "title-image.source-uri.uri" => Some(("titleImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "default-value", "description", "details", "enable-smart-tap", "fine-print", "first-row-option", "help-uri", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-details", "localized-fine-print", "localized-issuer-name", "localized-provider", "localized-short-title", "localized-title", "multiple-devices-and-holders-allowed-status", "provider", "redemption-channel", "redemption-issuers", "review", "review-status", "security-animation", "short-title", "show-last-update-time", "source-uri", "title", "title-image", "transit-option", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::OfferClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.offerclass().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerobject_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.offerobject().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerobject_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.offerobject().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerobject_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.details" => Some(("classReference.details", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.fine-print" => Some(("classReference.finePrint", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.description" => Some(("classReference.helpUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.id" => Some(("classReference.helpUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.kind" => Some(("classReference.helpUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.kind" => Some(("classReference.helpUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.language" => Some(("classReference.helpUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.value" => Some(("classReference.helpUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.kind" => Some(("classReference.helpUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.uri" => Some(("classReference.helpUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.kind" => Some(("classReference.localizedDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.language" => Some(("classReference.localizedDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.value" => Some(("classReference.localizedDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.kind" => Some(("classReference.localizedDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.kind" => Some(("classReference.localizedFinePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.language" => Some(("classReference.localizedFinePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.value" => Some(("classReference.localizedFinePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.kind" => Some(("classReference.localizedFinePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.kind" => Some(("classReference.localizedProvider.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.language" => Some(("classReference.localizedProvider.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.value" => Some(("classReference.localizedProvider.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.kind" => Some(("classReference.localizedProvider.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.kind" => Some(("classReference.localizedShortTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.language" => Some(("classReference.localizedShortTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.value" => Some(("classReference.localizedShortTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.kind" => Some(("classReference.localizedShortTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.kind" => Some(("classReference.localizedTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.language" => Some(("classReference.localizedTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.value" => Some(("classReference.localizedTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.kind" => Some(("classReference.localizedTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.provider" => Some(("classReference.provider", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-channel" => Some(("classReference.redemptionChannel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.short-title" => Some(("classReference.shortTitle", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title" => Some(("classReference.title", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.kind" => Some(("classReference.titleImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.language" => Some(("classReference.titleImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.value" => Some(("classReference.titleImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.kind" => Some(("classReference.titleImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.kind" => Some(("classReference.titleImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.description" => Some(("classReference.titleImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.kind" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.language" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.value" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.kind" => Some(("classReference.titleImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.uri" => Some(("classReference.titleImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "date", "default-value", "description", "details", "disable-expiration-notification", "enable-smart-tap", "end", "fine-print", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "help-uri", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-details", "localized-fine-print", "localized-issuer-name", "localized-provider", "localized-short-title", "localized-title", "multiple-devices-and-holders-allowed-status", "period-millis", "provider", "redemption-channel", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "security-animation", "short-title", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "title", "title-image", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::OfferObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.offerobject().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerobject_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.offerobject().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "class-id" => { + call = call.class_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["class-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerobject_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.details" => Some(("classReference.details", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.fine-print" => Some(("classReference.finePrint", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.description" => Some(("classReference.helpUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.id" => Some(("classReference.helpUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.kind" => Some(("classReference.helpUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.kind" => Some(("classReference.helpUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.language" => Some(("classReference.helpUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.value" => Some(("classReference.helpUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.kind" => Some(("classReference.helpUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.uri" => Some(("classReference.helpUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.kind" => Some(("classReference.localizedDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.language" => Some(("classReference.localizedDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.value" => Some(("classReference.localizedDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.kind" => Some(("classReference.localizedDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.kind" => Some(("classReference.localizedFinePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.language" => Some(("classReference.localizedFinePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.value" => Some(("classReference.localizedFinePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.kind" => Some(("classReference.localizedFinePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.kind" => Some(("classReference.localizedProvider.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.language" => Some(("classReference.localizedProvider.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.value" => Some(("classReference.localizedProvider.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.kind" => Some(("classReference.localizedProvider.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.kind" => Some(("classReference.localizedShortTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.language" => Some(("classReference.localizedShortTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.value" => Some(("classReference.localizedShortTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.kind" => Some(("classReference.localizedShortTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.kind" => Some(("classReference.localizedTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.language" => Some(("classReference.localizedTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.value" => Some(("classReference.localizedTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.kind" => Some(("classReference.localizedTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.provider" => Some(("classReference.provider", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-channel" => Some(("classReference.redemptionChannel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.short-title" => Some(("classReference.shortTitle", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title" => Some(("classReference.title", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.kind" => Some(("classReference.titleImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.language" => Some(("classReference.titleImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.value" => Some(("classReference.titleImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.kind" => Some(("classReference.titleImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.kind" => Some(("classReference.titleImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.description" => Some(("classReference.titleImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.kind" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.language" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.value" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.kind" => Some(("classReference.titleImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.uri" => Some(("classReference.titleImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "date", "default-value", "description", "details", "disable-expiration-notification", "enable-smart-tap", "end", "fine-print", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "help-uri", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-details", "localized-fine-print", "localized-issuer-name", "localized-provider", "localized-short-title", "localized-title", "multiple-devices-and-holders-allowed-status", "period-millis", "provider", "redemption-channel", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "security-animation", "short-title", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "title", "title-image", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::OfferObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.offerobject().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _offerobject_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.details" => Some(("classReference.details", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.fine-print" => Some(("classReference.finePrint", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.description" => Some(("classReference.helpUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.id" => Some(("classReference.helpUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.kind" => Some(("classReference.helpUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.kind" => Some(("classReference.helpUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.language" => Some(("classReference.helpUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.default-value.value" => Some(("classReference.helpUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.localized-description.kind" => Some(("classReference.helpUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.help-uri.uri" => Some(("classReference.helpUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.kind" => Some(("classReference.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.kind" => Some(("classReference.localizedDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.language" => Some(("classReference.localizedDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.default-value.value" => Some(("classReference.localizedDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-details.kind" => Some(("classReference.localizedDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.kind" => Some(("classReference.localizedFinePrint.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.language" => Some(("classReference.localizedFinePrint.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.default-value.value" => Some(("classReference.localizedFinePrint.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-fine-print.kind" => Some(("classReference.localizedFinePrint.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.kind" => Some(("classReference.localizedProvider.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.language" => Some(("classReference.localizedProvider.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.default-value.value" => Some(("classReference.localizedProvider.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-provider.kind" => Some(("classReference.localizedProvider.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.kind" => Some(("classReference.localizedShortTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.language" => Some(("classReference.localizedShortTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.default-value.value" => Some(("classReference.localizedShortTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-short-title.kind" => Some(("classReference.localizedShortTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.kind" => Some(("classReference.localizedTitle.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.language" => Some(("classReference.localizedTitle.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.default-value.value" => Some(("classReference.localizedTitle.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-title.kind" => Some(("classReference.localizedTitle.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.provider" => Some(("classReference.provider", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-channel" => Some(("classReference.redemptionChannel", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.short-title" => Some(("classReference.shortTitle", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title" => Some(("classReference.title", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.kind" => Some(("classReference.titleImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.language" => Some(("classReference.titleImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.default-value.value" => Some(("classReference.titleImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.content-description.kind" => Some(("classReference.titleImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.kind" => Some(("classReference.titleImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.description" => Some(("classReference.titleImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.kind" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.language" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.default-value.value" => Some(("classReference.titleImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.localized-description.kind" => Some(("classReference.titleImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.title-image.source-uri.uri" => Some(("classReference.titleImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "barcode", "callback-options", "class-id", "class-reference", "class-template-info", "comments", "content-description", "country-code", "date", "default-value", "description", "details", "disable-expiration-notification", "enable-smart-tap", "end", "fine-print", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "help-uri", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "list-template-override", "localized-description", "localized-details", "localized-fine-print", "localized-issuer-name", "localized-provider", "localized-short-title", "localized-title", "multiple-devices-and-holders-allowed-status", "period-millis", "provider", "redemption-channel", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "security-animation", "short-title", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "title", "title-image", "totp-details", "transit-option", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "web-app-link-info", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::OfferObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.offerobject().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _permissions_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.permissions().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _permissions_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "issuer-id" => Some(("issuerId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["issuer-id"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::Permissions = json::value::from_value(object).unwrap(); + let mut call = self.hub.permissions().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _smarttap_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "kind" => Some(("kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "merchant-id" => Some(("merchantId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["id", "kind", "merchant-id"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::SmartTap = json::value::from_value(object).unwrap(); + let mut call = self.hub.smarttap().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitclass_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.transitclass().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitclass_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.transitclass().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitclass_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.kind" => Some(("customCarriageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.language" => Some(("customCarriageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.value" => Some(("customCarriageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.kind" => Some(("customCarriageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.kind" => Some(("customCoachLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.language" => Some(("customCoachLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.value" => Some(("customCoachLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.kind" => Some(("customCoachLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.kind" => Some(("customConcessionCategoryLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.language" => Some(("customConcessionCategoryLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.value" => Some(("customConcessionCategoryLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.kind" => Some(("customConcessionCategoryLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.kind" => Some(("customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.language" => Some(("customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.value" => Some(("customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.kind" => Some(("customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.kind" => Some(("customDiscountMessageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.language" => Some(("customDiscountMessageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.value" => Some(("customDiscountMessageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.kind" => Some(("customDiscountMessageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.kind" => Some(("customFareClassLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.language" => Some(("customFareClassLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.value" => Some(("customFareClassLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.kind" => Some(("customFareClassLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.kind" => Some(("customFareNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.language" => Some(("customFareNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.value" => Some(("customFareNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.kind" => Some(("customFareNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.kind" => Some(("customOtherRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.language" => Some(("customOtherRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.value" => Some(("customOtherRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.kind" => Some(("customOtherRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.kind" => Some(("customPlatformLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.language" => Some(("customPlatformLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.value" => Some(("customPlatformLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.kind" => Some(("customPlatformLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.kind" => Some(("customPurchaseFaceValueLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.language" => Some(("customPurchaseFaceValueLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.value" => Some(("customPurchaseFaceValueLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.kind" => Some(("customPurchaseFaceValueLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.kind" => Some(("customPurchasePriceLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.language" => Some(("customPurchasePriceLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.value" => Some(("customPurchasePriceLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.kind" => Some(("customPurchasePriceLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.kind" => Some(("customPurchaseReceiptNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.language" => Some(("customPurchaseReceiptNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.value" => Some(("customPurchaseReceiptNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.kind" => Some(("customPurchaseReceiptNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.kind" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.language" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.value" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.kind" => Some(("customRouteRestrictionsDetailsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.kind" => Some(("customRouteRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.language" => Some(("customRouteRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.value" => Some(("customRouteRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.kind" => Some(("customRouteRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.kind" => Some(("customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.language" => Some(("customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.value" => Some(("customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.kind" => Some(("customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.kind" => Some(("customTicketNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.language" => Some(("customTicketNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.value" => Some(("customTicketNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.kind" => Some(("customTicketNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.kind" => Some(("customTimeRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.language" => Some(("customTimeRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.value" => Some(("customTimeRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.kind" => Some(("customTimeRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.kind" => Some(("customTransitTerminusNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.language" => Some(("customTransitTerminusNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.value" => Some(("customTransitTerminusNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.kind" => Some(("customTransitTerminusNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.kind" => Some(("customZoneLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.language" => Some(("customZoneLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.value" => Some(("customZoneLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.kind" => Some(("customZoneLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-single-leg-itinerary" => Some(("enableSingleLegItinerary", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "language-override" => Some(("languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.kind" => Some(("transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.language" => Some(("transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.value" => Some(("transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.kind" => Some(("transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-type" => Some(("transitType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.kind" => Some(("watermark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.language" => Some(("watermark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.value" => Some(("watermark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.kind" => Some(("watermark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.kind" => Some(("watermark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.description" => Some(("watermark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.kind" => Some(("watermark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.language" => Some(("watermark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.value" => Some(("watermark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.kind" => Some(("watermark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.uri" => Some(("watermark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "custom-carriage-label", "custom-coach-label", "custom-concession-category-label", "custom-confirmation-code-label", "custom-discount-message-label", "custom-fare-class-label", "custom-fare-name-label", "custom-other-restrictions-label", "custom-platform-label", "custom-purchase-face-value-label", "custom-purchase-price-label", "custom-purchase-receipt-number-label", "custom-route-restrictions-details-label", "custom-route-restrictions-label", "custom-seat-label", "custom-ticket-number-label", "custom-time-restrictions-label", "custom-transit-terminus-name-label", "custom-zone-label", "default-value", "description", "enable-single-leg-itinerary", "enable-smart-tap", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "language-override", "list-template-override", "localized-description", "localized-issuer-name", "logo", "multiple-devices-and-holders-allowed-status", "redemption-issuers", "review", "review-status", "security-animation", "show-last-update-time", "source-uri", "transit-operator-name", "transit-option", "transit-type", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "watermark", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::TransitClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.transitclass().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitclass_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.transitclass().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "issuer-id" => { + call = call.issuer_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["issuer-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitclass_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.kind" => Some(("customCarriageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.language" => Some(("customCarriageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.value" => Some(("customCarriageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.kind" => Some(("customCarriageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.kind" => Some(("customCoachLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.language" => Some(("customCoachLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.value" => Some(("customCoachLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.kind" => Some(("customCoachLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.kind" => Some(("customConcessionCategoryLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.language" => Some(("customConcessionCategoryLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.value" => Some(("customConcessionCategoryLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.kind" => Some(("customConcessionCategoryLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.kind" => Some(("customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.language" => Some(("customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.value" => Some(("customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.kind" => Some(("customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.kind" => Some(("customDiscountMessageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.language" => Some(("customDiscountMessageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.value" => Some(("customDiscountMessageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.kind" => Some(("customDiscountMessageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.kind" => Some(("customFareClassLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.language" => Some(("customFareClassLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.value" => Some(("customFareClassLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.kind" => Some(("customFareClassLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.kind" => Some(("customFareNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.language" => Some(("customFareNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.value" => Some(("customFareNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.kind" => Some(("customFareNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.kind" => Some(("customOtherRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.language" => Some(("customOtherRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.value" => Some(("customOtherRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.kind" => Some(("customOtherRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.kind" => Some(("customPlatformLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.language" => Some(("customPlatformLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.value" => Some(("customPlatformLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.kind" => Some(("customPlatformLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.kind" => Some(("customPurchaseFaceValueLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.language" => Some(("customPurchaseFaceValueLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.value" => Some(("customPurchaseFaceValueLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.kind" => Some(("customPurchaseFaceValueLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.kind" => Some(("customPurchasePriceLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.language" => Some(("customPurchasePriceLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.value" => Some(("customPurchasePriceLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.kind" => Some(("customPurchasePriceLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.kind" => Some(("customPurchaseReceiptNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.language" => Some(("customPurchaseReceiptNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.value" => Some(("customPurchaseReceiptNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.kind" => Some(("customPurchaseReceiptNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.kind" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.language" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.value" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.kind" => Some(("customRouteRestrictionsDetailsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.kind" => Some(("customRouteRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.language" => Some(("customRouteRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.value" => Some(("customRouteRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.kind" => Some(("customRouteRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.kind" => Some(("customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.language" => Some(("customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.value" => Some(("customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.kind" => Some(("customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.kind" => Some(("customTicketNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.language" => Some(("customTicketNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.value" => Some(("customTicketNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.kind" => Some(("customTicketNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.kind" => Some(("customTimeRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.language" => Some(("customTimeRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.value" => Some(("customTimeRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.kind" => Some(("customTimeRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.kind" => Some(("customTransitTerminusNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.language" => Some(("customTransitTerminusNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.value" => Some(("customTransitTerminusNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.kind" => Some(("customTransitTerminusNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.kind" => Some(("customZoneLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.language" => Some(("customZoneLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.value" => Some(("customZoneLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.kind" => Some(("customZoneLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-single-leg-itinerary" => Some(("enableSingleLegItinerary", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "language-override" => Some(("languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.kind" => Some(("transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.language" => Some(("transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.value" => Some(("transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.kind" => Some(("transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-type" => Some(("transitType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.kind" => Some(("watermark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.language" => Some(("watermark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.value" => Some(("watermark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.kind" => Some(("watermark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.kind" => Some(("watermark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.description" => Some(("watermark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.kind" => Some(("watermark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.language" => Some(("watermark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.value" => Some(("watermark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.kind" => Some(("watermark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.uri" => Some(("watermark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "custom-carriage-label", "custom-coach-label", "custom-concession-category-label", "custom-confirmation-code-label", "custom-discount-message-label", "custom-fare-class-label", "custom-fare-name-label", "custom-other-restrictions-label", "custom-platform-label", "custom-purchase-face-value-label", "custom-purchase-price-label", "custom-purchase-receipt-number-label", "custom-route-restrictions-details-label", "custom-route-restrictions-label", "custom-seat-label", "custom-ticket-number-label", "custom-time-restrictions-label", "custom-transit-terminus-name-label", "custom-zone-label", "default-value", "description", "enable-single-leg-itinerary", "enable-smart-tap", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "language-override", "list-template-override", "localized-description", "localized-issuer-name", "logo", "multiple-devices-and-holders-allowed-status", "redemption-issuers", "review", "review-status", "security-animation", "show-last-update-time", "source-uri", "transit-operator-name", "transit-option", "transit-type", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "watermark", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::TransitClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.transitclass().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitclass_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "allow-multiple-users-per-object" => Some(("allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "callback-options.update-request-url" => Some(("callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "callback-options.url" => Some(("callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-template-info.list-template-override.first-row-option.transit-option" => Some(("classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "country-code" => Some(("countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.kind" => Some(("customCarriageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.language" => Some(("customCarriageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.default-value.value" => Some(("customCarriageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-carriage-label.kind" => Some(("customCarriageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.kind" => Some(("customCoachLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.language" => Some(("customCoachLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.default-value.value" => Some(("customCoachLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-coach-label.kind" => Some(("customCoachLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.kind" => Some(("customConcessionCategoryLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.language" => Some(("customConcessionCategoryLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.default-value.value" => Some(("customConcessionCategoryLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category-label.kind" => Some(("customConcessionCategoryLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.kind" => Some(("customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.language" => Some(("customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.default-value.value" => Some(("customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-confirmation-code-label.kind" => Some(("customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.kind" => Some(("customDiscountMessageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.language" => Some(("customDiscountMessageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.default-value.value" => Some(("customDiscountMessageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-discount-message-label.kind" => Some(("customDiscountMessageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.kind" => Some(("customFareClassLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.language" => Some(("customFareClassLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.default-value.value" => Some(("customFareClassLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-class-label.kind" => Some(("customFareClassLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.kind" => Some(("customFareNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.language" => Some(("customFareNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.default-value.value" => Some(("customFareNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-fare-name-label.kind" => Some(("customFareNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.kind" => Some(("customOtherRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.language" => Some(("customOtherRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.default-value.value" => Some(("customOtherRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-other-restrictions-label.kind" => Some(("customOtherRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.kind" => Some(("customPlatformLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.language" => Some(("customPlatformLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.default-value.value" => Some(("customPlatformLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-platform-label.kind" => Some(("customPlatformLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.kind" => Some(("customPurchaseFaceValueLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.language" => Some(("customPurchaseFaceValueLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.default-value.value" => Some(("customPurchaseFaceValueLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-face-value-label.kind" => Some(("customPurchaseFaceValueLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.kind" => Some(("customPurchasePriceLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.language" => Some(("customPurchasePriceLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.default-value.value" => Some(("customPurchasePriceLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-price-label.kind" => Some(("customPurchasePriceLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.kind" => Some(("customPurchaseReceiptNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.language" => Some(("customPurchaseReceiptNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.default-value.value" => Some(("customPurchaseReceiptNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-purchase-receipt-number-label.kind" => Some(("customPurchaseReceiptNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.kind" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.language" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.default-value.value" => Some(("customRouteRestrictionsDetailsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-details-label.kind" => Some(("customRouteRestrictionsDetailsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.kind" => Some(("customRouteRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.language" => Some(("customRouteRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.default-value.value" => Some(("customRouteRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-route-restrictions-label.kind" => Some(("customRouteRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.kind" => Some(("customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.language" => Some(("customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.default-value.value" => Some(("customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-seat-label.kind" => Some(("customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.kind" => Some(("customTicketNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.language" => Some(("customTicketNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.default-value.value" => Some(("customTicketNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-number-label.kind" => Some(("customTicketNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.kind" => Some(("customTimeRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.language" => Some(("customTimeRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.default-value.value" => Some(("customTimeRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-time-restrictions-label.kind" => Some(("customTimeRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.kind" => Some(("customTransitTerminusNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.language" => Some(("customTransitTerminusNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.default-value.value" => Some(("customTransitTerminusNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-transit-terminus-name-label.kind" => Some(("customTransitTerminusNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.kind" => Some(("customZoneLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.language" => Some(("customZoneLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.default-value.value" => Some(("customZoneLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-zone-label.kind" => Some(("customZoneLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "enable-single-leg-itinerary" => Some(("enableSingleLegItinerary", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "enable-smart-tap" => Some(("enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.description" => Some(("homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.id" => Some(("homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.kind" => Some(("homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.kind" => Some(("homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.language" => Some(("homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.default-value.value" => Some(("homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.localized-description.kind" => Some(("homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "homepage-uri.uri" => Some(("homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "issuer-name" => Some(("issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "language-override" => Some(("languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.kind" => Some(("localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.language" => Some(("localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.default-value.value" => Some(("localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "localized-issuer-name.kind" => Some(("localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.kind" => Some(("logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.language" => Some(("logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.default-value.value" => Some(("logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.content-description.kind" => Some(("logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.kind" => Some(("logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.description" => Some(("logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.kind" => Some(("logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.language" => Some(("logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.default-value.value" => Some(("logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.localized-description.kind" => Some(("logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "logo.source-uri.uri" => Some(("logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "multiple-devices-and-holders-allowed-status" => Some(("multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "redemption-issuers" => Some(("redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "review.comments" => Some(("review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "review-status" => Some(("reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "security-animation.animation-type" => Some(("securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.kind" => Some(("transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.language" => Some(("transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.default-value.value" => Some(("transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-operator-name.kind" => Some(("transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "transit-type" => Some(("transitType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "view-unlock-requirement" => Some(("viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.kind" => Some(("watermark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.language" => Some(("watermark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.default-value.value" => Some(("watermark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.content-description.kind" => Some(("watermark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.kind" => Some(("watermark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.description" => Some(("watermark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.kind" => Some(("watermark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.language" => Some(("watermark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.default-value.value" => Some(("watermark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.localized-description.kind" => Some(("watermark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "watermark.source-uri.uri" => Some(("watermark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.kind" => Some(("wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.language" => Some(("wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.default-value.value" => Some(("wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.content-description.kind" => Some(("wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.kind" => Some(("wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.description" => Some(("wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.kind" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.language" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.default-value.value" => Some(("wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.localized-description.kind" => Some(("wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "word-mark.source-uri.uri" => Some(("wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["allow-multiple-users-per-object", "animation-type", "callback-options", "class-template-info", "comments", "content-description", "country-code", "custom-carriage-label", "custom-coach-label", "custom-concession-category-label", "custom-confirmation-code-label", "custom-discount-message-label", "custom-fare-class-label", "custom-fare-name-label", "custom-other-restrictions-label", "custom-platform-label", "custom-purchase-face-value-label", "custom-purchase-price-label", "custom-purchase-receipt-number-label", "custom-route-restrictions-details-label", "custom-route-restrictions-label", "custom-seat-label", "custom-ticket-number-label", "custom-time-restrictions-label", "custom-transit-terminus-name-label", "custom-zone-label", "default-value", "description", "enable-single-leg-itinerary", "enable-smart-tap", "first-row-option", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "issuer-name", "kind", "language", "language-override", "list-template-override", "localized-description", "localized-issuer-name", "logo", "multiple-devices-and-holders-allowed-status", "redemption-issuers", "review", "review-status", "security-animation", "show-last-update-time", "source-uri", "transit-operator-name", "transit-option", "transit-type", "update-request-url", "uri", "url", "value", "version", "view-unlock-requirement", "watermark", "word-mark"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::TransitClass = json::value::from_value(object).unwrap(); + let mut call = self.hub.transitclass().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitobject_addmessage(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "message.body" => Some(("message.body", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.end.date" => Some(("message.displayInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.kind" => Some(("message.displayInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.display-interval.start.date" => Some(("message.displayInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.header" => Some(("message.header", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.id" => Some(("message.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.kind" => Some(("message.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.kind" => Some(("message.localizedBody.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.language" => Some(("message.localizedBody.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.default-value.value" => Some(("message.localizedBody.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-body.kind" => Some(("message.localizedBody.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.kind" => Some(("message.localizedHeader.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.language" => Some(("message.localizedHeader.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.default-value.value" => Some(("message.localizedHeader.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.localized-header.kind" => Some(("message.localizedHeader.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "message.message-type" => Some(("message.messageType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["body", "date", "default-value", "display-interval", "end", "header", "id", "kind", "language", "localized-body", "localized-header", "message", "message-type", "start", "value"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::AddMessageRequest = json::value::from_value(object).unwrap(); + let mut call = self.hub.transitobject().addmessage(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitobject_get(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.transitobject().get(opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitobject_insert(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.kind" => Some(("classReference.customCarriageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.language" => Some(("classReference.customCarriageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.value" => Some(("classReference.customCarriageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.kind" => Some(("classReference.customCarriageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.kind" => Some(("classReference.customCoachLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.language" => Some(("classReference.customCoachLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.value" => Some(("classReference.customCoachLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.kind" => Some(("classReference.customCoachLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.kind" => Some(("classReference.customConcessionCategoryLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.language" => Some(("classReference.customConcessionCategoryLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.value" => Some(("classReference.customConcessionCategoryLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.kind" => Some(("classReference.customConcessionCategoryLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.kind" => Some(("classReference.customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.language" => Some(("classReference.customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.value" => Some(("classReference.customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.kind" => Some(("classReference.customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.kind" => Some(("classReference.customDiscountMessageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.language" => Some(("classReference.customDiscountMessageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.value" => Some(("classReference.customDiscountMessageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.kind" => Some(("classReference.customDiscountMessageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.kind" => Some(("classReference.customFareClassLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.language" => Some(("classReference.customFareClassLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.value" => Some(("classReference.customFareClassLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.kind" => Some(("classReference.customFareClassLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.kind" => Some(("classReference.customFareNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.language" => Some(("classReference.customFareNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.value" => Some(("classReference.customFareNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.kind" => Some(("classReference.customFareNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.kind" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.language" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.value" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.kind" => Some(("classReference.customOtherRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.kind" => Some(("classReference.customPlatformLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.language" => Some(("classReference.customPlatformLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.value" => Some(("classReference.customPlatformLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.kind" => Some(("classReference.customPlatformLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.kind" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.language" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.value" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.kind" => Some(("classReference.customPurchaseFaceValueLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.kind" => Some(("classReference.customPurchasePriceLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.language" => Some(("classReference.customPurchasePriceLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.value" => Some(("classReference.customPurchasePriceLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.kind" => Some(("classReference.customPurchasePriceLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.kind" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.language" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.value" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.kind" => Some(("classReference.customPurchaseReceiptNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.kind" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.language" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.value" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.kind" => Some(("classReference.customRouteRestrictionsDetailsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.kind" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.language" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.value" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.kind" => Some(("classReference.customRouteRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.kind" => Some(("classReference.customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.language" => Some(("classReference.customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.value" => Some(("classReference.customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.kind" => Some(("classReference.customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.kind" => Some(("classReference.customTicketNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.language" => Some(("classReference.customTicketNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.value" => Some(("classReference.customTicketNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.kind" => Some(("classReference.customTicketNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.kind" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.language" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.value" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.kind" => Some(("classReference.customTimeRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.kind" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.language" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.value" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.kind" => Some(("classReference.customTransitTerminusNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.kind" => Some(("classReference.customZoneLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.language" => Some(("classReference.customZoneLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.value" => Some(("classReference.customZoneLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.kind" => Some(("classReference.customZoneLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-single-leg-itinerary" => Some(("classReference.enableSingleLegItinerary", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.language-override" => Some(("classReference.languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.kind" => Some(("classReference.logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.language" => Some(("classReference.logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.value" => Some(("classReference.logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.kind" => Some(("classReference.logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.kind" => Some(("classReference.logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.description" => Some(("classReference.logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.kind" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.language" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.value" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.kind" => Some(("classReference.logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.uri" => Some(("classReference.logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.kind" => Some(("classReference.transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.language" => Some(("classReference.transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.value" => Some(("classReference.transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.kind" => Some(("classReference.transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-type" => Some(("classReference.transitType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.kind" => Some(("classReference.watermark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.language" => Some(("classReference.watermark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.value" => Some(("classReference.watermark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.kind" => Some(("classReference.watermark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.kind" => Some(("classReference.watermark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.description" => Some(("classReference.watermark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.kind" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.language" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.value" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.kind" => Some(("classReference.watermark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.uri" => Some(("classReference.watermark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "concession-category" => Some(("concessionCategory", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.kind" => Some(("customConcessionCategory.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.language" => Some(("customConcessionCategory.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.value" => Some(("customConcessionCategory.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.kind" => Some(("customConcessionCategory.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.kind" => Some(("customTicketStatus.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.language" => Some(("customTicketStatus.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.value" => Some(("customTicketStatus.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.kind" => Some(("customTicketStatus.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "passenger-names" => Some(("passengerNames", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "passenger-type" => Some(("passengerType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.account-id" => Some(("purchaseDetails.accountId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.confirmation-code" => Some(("purchaseDetails.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.purchase-date-time" => Some(("purchaseDetails.purchaseDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.purchase-receipt-number" => Some(("purchaseDetails.purchaseReceiptNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.kind" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.language" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.value" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.kind" => Some(("purchaseDetails.ticketCost.discountMessage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.currency-code" => Some(("purchaseDetails.ticketCost.faceValue.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.kind" => Some(("purchaseDetails.ticketCost.faceValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.micros" => Some(("purchaseDetails.ticketCost.faceValue.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.currency-code" => Some(("purchaseDetails.ticketCost.purchasePrice.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.kind" => Some(("purchaseDetails.ticketCost.purchasePrice.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.micros" => Some(("purchaseDetails.ticketCost.purchasePrice.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.arrival-date-time" => Some(("ticketLeg.arrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.carriage" => Some(("ticketLeg.carriage", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.departure-date-time" => Some(("ticketLeg.departureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.kind" => Some(("ticketLeg.destinationName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.language" => Some(("ticketLeg.destinationName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.value" => Some(("ticketLeg.destinationName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.kind" => Some(("ticketLeg.destinationName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-station-code" => Some(("ticketLeg.destinationStationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.kind" => Some(("ticketLeg.fareName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.language" => Some(("ticketLeg.fareName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.value" => Some(("ticketLeg.fareName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.kind" => Some(("ticketLeg.fareName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.kind" => Some(("ticketLeg.originName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.language" => Some(("ticketLeg.originName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.value" => Some(("ticketLeg.originName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.kind" => Some(("ticketLeg.originName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-station-code" => Some(("ticketLeg.originStationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.platform" => Some(("ticketLeg.platform", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.coach" => Some(("ticketLeg.ticketSeat.coach", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.kind" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.language" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.value" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.kind" => Some(("ticketLeg.ticketSeat.customFareClass.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.fare-class" => Some(("ticketLeg.ticketSeat.fareClass", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat" => Some(("ticketLeg.ticketSeat.seat", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.kind" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.language" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.value" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.kind" => Some(("ticketLeg.ticketSeat.seatAssignment.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.kind" => Some(("ticketLeg.transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.language" => Some(("ticketLeg.transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.value" => Some(("ticketLeg.transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.kind" => Some(("ticketLeg.transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.kind" => Some(("ticketLeg.transitTerminusName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.language" => Some(("ticketLeg.transitTerminusName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.value" => Some(("ticketLeg.transitTerminusName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.kind" => Some(("ticketLeg.transitTerminusName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.zone" => Some(("ticketLeg.zone", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-number" => Some(("ticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.kind" => Some(("ticketRestrictions.otherRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.language" => Some(("ticketRestrictions.otherRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.value" => Some(("ticketRestrictions.otherRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.kind" => Some(("ticketRestrictions.otherRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.kind" => Some(("ticketRestrictions.routeRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.language" => Some(("ticketRestrictions.routeRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.value" => Some(("ticketRestrictions.routeRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.kind" => Some(("ticketRestrictions.routeRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.kind" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.language" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.value" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.kind" => Some(("ticketRestrictions.routeRestrictionsDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.kind" => Some(("ticketRestrictions.timeRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.language" => Some(("ticketRestrictions.timeRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.value" => Some(("ticketRestrictions.timeRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.kind" => Some(("ticketRestrictions.timeRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-status" => Some(("ticketStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "trip-id" => Some(("tripId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "trip-type" => Some(("tripType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "arrival-date-time", "barcode", "callback-options", "carriage", "class-id", "class-reference", "class-template-info", "coach", "comments", "concession-category", "confirmation-code", "content-description", "country-code", "currency-code", "custom-carriage-label", "custom-coach-label", "custom-concession-category", "custom-concession-category-label", "custom-confirmation-code-label", "custom-discount-message-label", "custom-fare-class", "custom-fare-class-label", "custom-fare-name-label", "custom-other-restrictions-label", "custom-platform-label", "custom-purchase-face-value-label", "custom-purchase-price-label", "custom-purchase-receipt-number-label", "custom-route-restrictions-details-label", "custom-route-restrictions-label", "custom-seat-label", "custom-ticket-number-label", "custom-ticket-status", "custom-time-restrictions-label", "custom-transit-terminus-name-label", "custom-zone-label", "date", "default-value", "departure-date-time", "description", "destination-name", "destination-station-code", "disable-expiration-notification", "discount-message", "enable-single-leg-itinerary", "enable-smart-tap", "end", "face-value", "fare-class", "fare-name", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "language-override", "list-template-override", "localized-description", "localized-issuer-name", "logo", "micros", "multiple-devices-and-holders-allowed-status", "origin-name", "origin-station-code", "other-restrictions", "passenger-names", "passenger-type", "period-millis", "platform", "purchase-date-time", "purchase-details", "purchase-price", "purchase-receipt-number", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "route-restrictions", "route-restrictions-details", "seat", "seat-assignment", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "ticket-cost", "ticket-leg", "ticket-number", "ticket-restrictions", "ticket-seat", "ticket-status", "time-restrictions", "title", "totp-details", "transit-operator-name", "transit-option", "transit-terminus-name", "transit-type", "trip-id", "trip-type", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "watermark", "web-app-link-info", "word-mark", "zone"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::TransitObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.transitobject().insert(request); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitobject_list(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + let mut call = self.hub.transitobject().list(); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + "token" => { + call = call.token(value.unwrap_or("")); + }, + "max-results" => { + call = call.max_results(arg_from_str(value.unwrap_or("-0"), err, "max-results", "integer")); + }, + "class-id" => { + call = call.class_id(value.unwrap_or("")); + }, + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v.extend(["class-id", "max-results", "token"].iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitobject_patch(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.kind" => Some(("classReference.customCarriageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.language" => Some(("classReference.customCarriageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.value" => Some(("classReference.customCarriageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.kind" => Some(("classReference.customCarriageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.kind" => Some(("classReference.customCoachLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.language" => Some(("classReference.customCoachLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.value" => Some(("classReference.customCoachLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.kind" => Some(("classReference.customCoachLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.kind" => Some(("classReference.customConcessionCategoryLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.language" => Some(("classReference.customConcessionCategoryLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.value" => Some(("classReference.customConcessionCategoryLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.kind" => Some(("classReference.customConcessionCategoryLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.kind" => Some(("classReference.customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.language" => Some(("classReference.customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.value" => Some(("classReference.customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.kind" => Some(("classReference.customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.kind" => Some(("classReference.customDiscountMessageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.language" => Some(("classReference.customDiscountMessageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.value" => Some(("classReference.customDiscountMessageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.kind" => Some(("classReference.customDiscountMessageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.kind" => Some(("classReference.customFareClassLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.language" => Some(("classReference.customFareClassLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.value" => Some(("classReference.customFareClassLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.kind" => Some(("classReference.customFareClassLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.kind" => Some(("classReference.customFareNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.language" => Some(("classReference.customFareNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.value" => Some(("classReference.customFareNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.kind" => Some(("classReference.customFareNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.kind" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.language" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.value" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.kind" => Some(("classReference.customOtherRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.kind" => Some(("classReference.customPlatformLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.language" => Some(("classReference.customPlatformLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.value" => Some(("classReference.customPlatformLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.kind" => Some(("classReference.customPlatformLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.kind" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.language" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.value" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.kind" => Some(("classReference.customPurchaseFaceValueLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.kind" => Some(("classReference.customPurchasePriceLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.language" => Some(("classReference.customPurchasePriceLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.value" => Some(("classReference.customPurchasePriceLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.kind" => Some(("classReference.customPurchasePriceLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.kind" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.language" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.value" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.kind" => Some(("classReference.customPurchaseReceiptNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.kind" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.language" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.value" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.kind" => Some(("classReference.customRouteRestrictionsDetailsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.kind" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.language" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.value" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.kind" => Some(("classReference.customRouteRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.kind" => Some(("classReference.customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.language" => Some(("classReference.customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.value" => Some(("classReference.customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.kind" => Some(("classReference.customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.kind" => Some(("classReference.customTicketNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.language" => Some(("classReference.customTicketNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.value" => Some(("classReference.customTicketNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.kind" => Some(("classReference.customTicketNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.kind" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.language" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.value" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.kind" => Some(("classReference.customTimeRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.kind" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.language" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.value" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.kind" => Some(("classReference.customTransitTerminusNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.kind" => Some(("classReference.customZoneLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.language" => Some(("classReference.customZoneLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.value" => Some(("classReference.customZoneLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.kind" => Some(("classReference.customZoneLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-single-leg-itinerary" => Some(("classReference.enableSingleLegItinerary", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.language-override" => Some(("classReference.languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.kind" => Some(("classReference.logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.language" => Some(("classReference.logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.value" => Some(("classReference.logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.kind" => Some(("classReference.logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.kind" => Some(("classReference.logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.description" => Some(("classReference.logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.kind" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.language" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.value" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.kind" => Some(("classReference.logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.uri" => Some(("classReference.logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.kind" => Some(("classReference.transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.language" => Some(("classReference.transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.value" => Some(("classReference.transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.kind" => Some(("classReference.transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-type" => Some(("classReference.transitType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.kind" => Some(("classReference.watermark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.language" => Some(("classReference.watermark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.value" => Some(("classReference.watermark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.kind" => Some(("classReference.watermark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.kind" => Some(("classReference.watermark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.description" => Some(("classReference.watermark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.kind" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.language" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.value" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.kind" => Some(("classReference.watermark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.uri" => Some(("classReference.watermark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "concession-category" => Some(("concessionCategory", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.kind" => Some(("customConcessionCategory.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.language" => Some(("customConcessionCategory.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.value" => Some(("customConcessionCategory.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.kind" => Some(("customConcessionCategory.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.kind" => Some(("customTicketStatus.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.language" => Some(("customTicketStatus.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.value" => Some(("customTicketStatus.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.kind" => Some(("customTicketStatus.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "passenger-names" => Some(("passengerNames", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "passenger-type" => Some(("passengerType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.account-id" => Some(("purchaseDetails.accountId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.confirmation-code" => Some(("purchaseDetails.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.purchase-date-time" => Some(("purchaseDetails.purchaseDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.purchase-receipt-number" => Some(("purchaseDetails.purchaseReceiptNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.kind" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.language" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.value" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.kind" => Some(("purchaseDetails.ticketCost.discountMessage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.currency-code" => Some(("purchaseDetails.ticketCost.faceValue.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.kind" => Some(("purchaseDetails.ticketCost.faceValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.micros" => Some(("purchaseDetails.ticketCost.faceValue.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.currency-code" => Some(("purchaseDetails.ticketCost.purchasePrice.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.kind" => Some(("purchaseDetails.ticketCost.purchasePrice.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.micros" => Some(("purchaseDetails.ticketCost.purchasePrice.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.arrival-date-time" => Some(("ticketLeg.arrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.carriage" => Some(("ticketLeg.carriage", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.departure-date-time" => Some(("ticketLeg.departureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.kind" => Some(("ticketLeg.destinationName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.language" => Some(("ticketLeg.destinationName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.value" => Some(("ticketLeg.destinationName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.kind" => Some(("ticketLeg.destinationName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-station-code" => Some(("ticketLeg.destinationStationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.kind" => Some(("ticketLeg.fareName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.language" => Some(("ticketLeg.fareName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.value" => Some(("ticketLeg.fareName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.kind" => Some(("ticketLeg.fareName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.kind" => Some(("ticketLeg.originName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.language" => Some(("ticketLeg.originName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.value" => Some(("ticketLeg.originName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.kind" => Some(("ticketLeg.originName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-station-code" => Some(("ticketLeg.originStationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.platform" => Some(("ticketLeg.platform", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.coach" => Some(("ticketLeg.ticketSeat.coach", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.kind" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.language" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.value" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.kind" => Some(("ticketLeg.ticketSeat.customFareClass.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.fare-class" => Some(("ticketLeg.ticketSeat.fareClass", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat" => Some(("ticketLeg.ticketSeat.seat", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.kind" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.language" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.value" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.kind" => Some(("ticketLeg.ticketSeat.seatAssignment.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.kind" => Some(("ticketLeg.transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.language" => Some(("ticketLeg.transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.value" => Some(("ticketLeg.transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.kind" => Some(("ticketLeg.transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.kind" => Some(("ticketLeg.transitTerminusName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.language" => Some(("ticketLeg.transitTerminusName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.value" => Some(("ticketLeg.transitTerminusName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.kind" => Some(("ticketLeg.transitTerminusName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.zone" => Some(("ticketLeg.zone", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-number" => Some(("ticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.kind" => Some(("ticketRestrictions.otherRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.language" => Some(("ticketRestrictions.otherRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.value" => Some(("ticketRestrictions.otherRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.kind" => Some(("ticketRestrictions.otherRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.kind" => Some(("ticketRestrictions.routeRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.language" => Some(("ticketRestrictions.routeRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.value" => Some(("ticketRestrictions.routeRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.kind" => Some(("ticketRestrictions.routeRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.kind" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.language" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.value" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.kind" => Some(("ticketRestrictions.routeRestrictionsDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.kind" => Some(("ticketRestrictions.timeRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.language" => Some(("ticketRestrictions.timeRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.value" => Some(("ticketRestrictions.timeRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.kind" => Some(("ticketRestrictions.timeRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-status" => Some(("ticketStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "trip-id" => Some(("tripId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "trip-type" => Some(("tripType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "arrival-date-time", "barcode", "callback-options", "carriage", "class-id", "class-reference", "class-template-info", "coach", "comments", "concession-category", "confirmation-code", "content-description", "country-code", "currency-code", "custom-carriage-label", "custom-coach-label", "custom-concession-category", "custom-concession-category-label", "custom-confirmation-code-label", "custom-discount-message-label", "custom-fare-class", "custom-fare-class-label", "custom-fare-name-label", "custom-other-restrictions-label", "custom-platform-label", "custom-purchase-face-value-label", "custom-purchase-price-label", "custom-purchase-receipt-number-label", "custom-route-restrictions-details-label", "custom-route-restrictions-label", "custom-seat-label", "custom-ticket-number-label", "custom-ticket-status", "custom-time-restrictions-label", "custom-transit-terminus-name-label", "custom-zone-label", "date", "default-value", "departure-date-time", "description", "destination-name", "destination-station-code", "disable-expiration-notification", "discount-message", "enable-single-leg-itinerary", "enable-smart-tap", "end", "face-value", "fare-class", "fare-name", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "language-override", "list-template-override", "localized-description", "localized-issuer-name", "logo", "micros", "multiple-devices-and-holders-allowed-status", "origin-name", "origin-station-code", "other-restrictions", "passenger-names", "passenger-type", "period-millis", "platform", "purchase-date-time", "purchase-details", "purchase-price", "purchase-receipt-number", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "route-restrictions", "route-restrictions-details", "seat", "seat-assignment", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "ticket-cost", "ticket-leg", "ticket-number", "ticket-restrictions", "ticket-seat", "ticket-status", "time-restrictions", "title", "totp-details", "transit-operator-name", "transit-option", "transit-terminus-name", "transit-type", "trip-id", "trip-type", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "watermark", "web-app-link-info", "word-mark", "zone"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::TransitObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.transitobject().patch(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _transitobject_update(&self, opt: &ArgMatches<'n>, dry_run: bool, err: &mut InvalidOptionsError) + -> Result<(), DoitError> { + + let mut field_cursor = FieldCursor::default(); + let mut object = json::value::Value::Object(Default::default()); + + for kvarg in opt.values_of("kv").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let last_errc = err.issues.len(); + let (key, value) = parse_kv_arg(&*kvarg, err, false); + let mut temp_cursor = field_cursor.clone(); + if let Err(field_err) = temp_cursor.set(&*key) { + err.issues.push(field_err); + } + if value.is_none() { + field_cursor = temp_cursor.clone(); + if err.issues.len() > last_errc { + err.issues.remove(last_errc); + } + continue; + } + + let type_info: Option<(&'static str, JsonTypeInfo)> = + match &temp_cursor.to_string()[..] { + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.description" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.id" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.androidAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.language" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.default-value.value" => Some(("appLinkData.androidAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.description.kind" => Some(("appLinkData.androidAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.kind" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.language" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.default-value.value" => Some(("appLinkData.androidAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.android-app-link-info.title.kind" => Some(("appLinkData.androidAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.description" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.id" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.iosAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.language" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.default-value.value" => Some(("appLinkData.iosAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.description.kind" => Some(("appLinkData.iosAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.kind" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.language" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.default-value.value" => Some(("appLinkData.iosAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.ios-app-link-info.title.kind" => Some(("appLinkData.iosAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.content-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.description" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-logo-image.source-uri.uri" => Some(("appLinkData.webAppLinkInfo.appLogoImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.description" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.id" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.language" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.default-value.value" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.localized-description.kind" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.app-target.target-uri.uri" => Some(("appLinkData.webAppLinkInfo.appTarget.targetUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.kind" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.language" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.default-value.value" => Some(("appLinkData.webAppLinkInfo.description.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.description.kind" => Some(("appLinkData.webAppLinkInfo.description.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.kind" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.language" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.default-value.value" => Some(("appLinkData.webAppLinkInfo.title.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "app-link-data.web-app-link-info.title.kind" => Some(("appLinkData.webAppLinkInfo.title.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.alternate-text" => Some(("barcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.kind" => Some(("barcode.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.render-encoding" => Some(("barcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.kind" => Some(("barcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.language" => Some(("barcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.default-value.value" => Some(("barcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.show-code-text.kind" => Some(("barcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.type" => Some(("barcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "barcode.value" => Some(("barcode.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-id" => Some(("classId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.allow-multiple-users-per-object" => Some(("classReference.allowMultipleUsersPerObject", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.callback-options.update-request-url" => Some(("classReference.callbackOptions.updateRequestUrl", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.callback-options.url" => Some(("classReference.callbackOptions.url", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.class-template-info.list-template-override.first-row-option.transit-option" => Some(("classReference.classTemplateInfo.listTemplateOverride.firstRowOption.transitOption", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.country-code" => Some(("classReference.countryCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.kind" => Some(("classReference.customCarriageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.language" => Some(("classReference.customCarriageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.default-value.value" => Some(("classReference.customCarriageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-carriage-label.kind" => Some(("classReference.customCarriageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.kind" => Some(("classReference.customCoachLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.language" => Some(("classReference.customCoachLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.default-value.value" => Some(("classReference.customCoachLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-coach-label.kind" => Some(("classReference.customCoachLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.kind" => Some(("classReference.customConcessionCategoryLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.language" => Some(("classReference.customConcessionCategoryLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.default-value.value" => Some(("classReference.customConcessionCategoryLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-concession-category-label.kind" => Some(("classReference.customConcessionCategoryLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.kind" => Some(("classReference.customConfirmationCodeLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.language" => Some(("classReference.customConfirmationCodeLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.default-value.value" => Some(("classReference.customConfirmationCodeLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-confirmation-code-label.kind" => Some(("classReference.customConfirmationCodeLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.kind" => Some(("classReference.customDiscountMessageLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.language" => Some(("classReference.customDiscountMessageLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.default-value.value" => Some(("classReference.customDiscountMessageLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-discount-message-label.kind" => Some(("classReference.customDiscountMessageLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.kind" => Some(("classReference.customFareClassLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.language" => Some(("classReference.customFareClassLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.default-value.value" => Some(("classReference.customFareClassLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-class-label.kind" => Some(("classReference.customFareClassLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.kind" => Some(("classReference.customFareNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.language" => Some(("classReference.customFareNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.default-value.value" => Some(("classReference.customFareNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-fare-name-label.kind" => Some(("classReference.customFareNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.kind" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.language" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.default-value.value" => Some(("classReference.customOtherRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-other-restrictions-label.kind" => Some(("classReference.customOtherRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.kind" => Some(("classReference.customPlatformLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.language" => Some(("classReference.customPlatformLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.default-value.value" => Some(("classReference.customPlatformLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-platform-label.kind" => Some(("classReference.customPlatformLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.kind" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.language" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.default-value.value" => Some(("classReference.customPurchaseFaceValueLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-face-value-label.kind" => Some(("classReference.customPurchaseFaceValueLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.kind" => Some(("classReference.customPurchasePriceLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.language" => Some(("classReference.customPurchasePriceLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.default-value.value" => Some(("classReference.customPurchasePriceLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-price-label.kind" => Some(("classReference.customPurchasePriceLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.kind" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.language" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.default-value.value" => Some(("classReference.customPurchaseReceiptNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-purchase-receipt-number-label.kind" => Some(("classReference.customPurchaseReceiptNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.kind" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.language" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.default-value.value" => Some(("classReference.customRouteRestrictionsDetailsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-details-label.kind" => Some(("classReference.customRouteRestrictionsDetailsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.kind" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.language" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.default-value.value" => Some(("classReference.customRouteRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-route-restrictions-label.kind" => Some(("classReference.customRouteRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.kind" => Some(("classReference.customSeatLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.language" => Some(("classReference.customSeatLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.default-value.value" => Some(("classReference.customSeatLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-seat-label.kind" => Some(("classReference.customSeatLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.kind" => Some(("classReference.customTicketNumberLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.language" => Some(("classReference.customTicketNumberLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.default-value.value" => Some(("classReference.customTicketNumberLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-ticket-number-label.kind" => Some(("classReference.customTicketNumberLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.kind" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.language" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.default-value.value" => Some(("classReference.customTimeRestrictionsLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-time-restrictions-label.kind" => Some(("classReference.customTimeRestrictionsLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.kind" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.language" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.default-value.value" => Some(("classReference.customTransitTerminusNameLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-transit-terminus-name-label.kind" => Some(("classReference.customTransitTerminusNameLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.kind" => Some(("classReference.customZoneLabel.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.language" => Some(("classReference.customZoneLabel.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.default-value.value" => Some(("classReference.customZoneLabel.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.custom-zone-label.kind" => Some(("classReference.customZoneLabel.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.enable-single-leg-itinerary" => Some(("classReference.enableSingleLegItinerary", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.enable-smart-tap" => Some(("classReference.enableSmartTap", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.kind" => Some(("classReference.heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.language" => Some(("classReference.heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.default-value.value" => Some(("classReference.heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.content-description.kind" => Some(("classReference.heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.kind" => Some(("classReference.heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.description" => Some(("classReference.heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.language" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.default-value.value" => Some(("classReference.heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.localized-description.kind" => Some(("classReference.heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hero-image.source-uri.uri" => Some(("classReference.heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.hex-background-color" => Some(("classReference.hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.description" => Some(("classReference.homepageUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.id" => Some(("classReference.homepageUri.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.kind" => Some(("classReference.homepageUri.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.kind" => Some(("classReference.homepageUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.language" => Some(("classReference.homepageUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.default-value.value" => Some(("classReference.homepageUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.localized-description.kind" => Some(("classReference.homepageUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.homepage-uri.uri" => Some(("classReference.homepageUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.id" => Some(("classReference.id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.info-module-data.show-last-update-time" => Some(("classReference.infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "class-reference.issuer-name" => Some(("classReference.issuerName", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.language-override" => Some(("classReference.languageOverride", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.kind" => Some(("classReference.localizedIssuerName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.language" => Some(("classReference.localizedIssuerName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.default-value.value" => Some(("classReference.localizedIssuerName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.localized-issuer-name.kind" => Some(("classReference.localizedIssuerName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.kind" => Some(("classReference.logo.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.language" => Some(("classReference.logo.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.default-value.value" => Some(("classReference.logo.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.content-description.kind" => Some(("classReference.logo.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.kind" => Some(("classReference.logo.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.description" => Some(("classReference.logo.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.kind" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.language" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.default-value.value" => Some(("classReference.logo.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.localized-description.kind" => Some(("classReference.logo.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.logo.source-uri.uri" => Some(("classReference.logo.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.multiple-devices-and-holders-allowed-status" => Some(("classReference.multipleDevicesAndHoldersAllowedStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.redemption-issuers" => Some(("classReference.redemptionIssuers", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Vec })), + "class-reference.review.comments" => Some(("classReference.review.comments", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.review-status" => Some(("classReference.reviewStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.security-animation.animation-type" => Some(("classReference.securityAnimation.animationType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.kind" => Some(("classReference.transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.language" => Some(("classReference.transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.default-value.value" => Some(("classReference.transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-operator-name.kind" => Some(("classReference.transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.transit-type" => Some(("classReference.transitType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.version" => Some(("classReference.version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.view-unlock-requirement" => Some(("classReference.viewUnlockRequirement", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.kind" => Some(("classReference.watermark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.language" => Some(("classReference.watermark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.default-value.value" => Some(("classReference.watermark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.content-description.kind" => Some(("classReference.watermark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.kind" => Some(("classReference.watermark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.description" => Some(("classReference.watermark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.kind" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.language" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.default-value.value" => Some(("classReference.watermark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.localized-description.kind" => Some(("classReference.watermark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.watermark.source-uri.uri" => Some(("classReference.watermark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.kind" => Some(("classReference.wordMark.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.language" => Some(("classReference.wordMark.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.default-value.value" => Some(("classReference.wordMark.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.content-description.kind" => Some(("classReference.wordMark.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.kind" => Some(("classReference.wordMark.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.description" => Some(("classReference.wordMark.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.language" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.default-value.value" => Some(("classReference.wordMark.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.localized-description.kind" => Some(("classReference.wordMark.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "class-reference.word-mark.source-uri.uri" => Some(("classReference.wordMark.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "concession-category" => Some(("concessionCategory", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.kind" => Some(("customConcessionCategory.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.language" => Some(("customConcessionCategory.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.default-value.value" => Some(("customConcessionCategory.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-concession-category.kind" => Some(("customConcessionCategory.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.kind" => Some(("customTicketStatus.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.language" => Some(("customTicketStatus.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.default-value.value" => Some(("customTicketStatus.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "custom-ticket-status.kind" => Some(("customTicketStatus.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "disable-expiration-notification" => Some(("disableExpirationNotification", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "grouping-info.grouping-id" => Some(("groupingInfo.groupingId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "grouping-info.sort-index" => Some(("groupingInfo.sortIndex", JsonTypeInfo { jtype: JsonType::Int, ctype: ComplexType::Pod })), + "has-linked-device" => Some(("hasLinkedDevice", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "has-users" => Some(("hasUsers", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.kind" => Some(("heroImage.contentDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.language" => Some(("heroImage.contentDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.default-value.value" => Some(("heroImage.contentDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.content-description.kind" => Some(("heroImage.contentDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.kind" => Some(("heroImage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.description" => Some(("heroImage.sourceUri.description", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.kind" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.language" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.default-value.value" => Some(("heroImage.sourceUri.localizedDescription.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.localized-description.kind" => Some(("heroImage.sourceUri.localizedDescription.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hero-image.source-uri.uri" => Some(("heroImage.sourceUri.uri", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "hex-background-color" => Some(("hexBackgroundColor", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "id" => Some(("id", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "info-module-data.show-last-update-time" => Some(("infoModuleData.showLastUpdateTime", JsonTypeInfo { jtype: JsonType::Boolean, ctype: ComplexType::Pod })), + "passenger-names" => Some(("passengerNames", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "passenger-type" => Some(("passengerType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.account-id" => Some(("purchaseDetails.accountId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.confirmation-code" => Some(("purchaseDetails.confirmationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.purchase-date-time" => Some(("purchaseDetails.purchaseDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.purchase-receipt-number" => Some(("purchaseDetails.purchaseReceiptNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.kind" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.language" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.default-value.value" => Some(("purchaseDetails.ticketCost.discountMessage.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.discount-message.kind" => Some(("purchaseDetails.ticketCost.discountMessage.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.currency-code" => Some(("purchaseDetails.ticketCost.faceValue.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.kind" => Some(("purchaseDetails.ticketCost.faceValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.face-value.micros" => Some(("purchaseDetails.ticketCost.faceValue.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.currency-code" => Some(("purchaseDetails.ticketCost.purchasePrice.currencyCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.kind" => Some(("purchaseDetails.ticketCost.purchasePrice.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "purchase-details.ticket-cost.purchase-price.micros" => Some(("purchaseDetails.ticketCost.purchasePrice.micros", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.alternate-text" => Some(("rotatingBarcode.alternateText", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.render-encoding" => Some(("rotatingBarcode.renderEncoding", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.kind" => Some(("rotatingBarcode.showCodeText.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.language" => Some(("rotatingBarcode.showCodeText.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.default-value.value" => Some(("rotatingBarcode.showCodeText.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.show-code-text.kind" => Some(("rotatingBarcode.showCodeText.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.algorithm" => Some(("rotatingBarcode.totpDetails.algorithm", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.totp-details.period-millis" => Some(("rotatingBarcode.totpDetails.periodMillis", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.type" => Some(("rotatingBarcode.type", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "rotating-barcode.value-pattern" => Some(("rotatingBarcode.valuePattern", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "smart-tap-redemption-value" => Some(("smartTapRedemptionValue", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "state" => Some(("state", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.arrival-date-time" => Some(("ticketLeg.arrivalDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.carriage" => Some(("ticketLeg.carriage", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.departure-date-time" => Some(("ticketLeg.departureDateTime", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.kind" => Some(("ticketLeg.destinationName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.language" => Some(("ticketLeg.destinationName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.default-value.value" => Some(("ticketLeg.destinationName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-name.kind" => Some(("ticketLeg.destinationName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.destination-station-code" => Some(("ticketLeg.destinationStationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.kind" => Some(("ticketLeg.fareName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.language" => Some(("ticketLeg.fareName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.default-value.value" => Some(("ticketLeg.fareName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.fare-name.kind" => Some(("ticketLeg.fareName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.kind" => Some(("ticketLeg.originName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.language" => Some(("ticketLeg.originName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.default-value.value" => Some(("ticketLeg.originName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-name.kind" => Some(("ticketLeg.originName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.origin-station-code" => Some(("ticketLeg.originStationCode", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.platform" => Some(("ticketLeg.platform", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.coach" => Some(("ticketLeg.ticketSeat.coach", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.kind" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.language" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.default-value.value" => Some(("ticketLeg.ticketSeat.customFareClass.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.custom-fare-class.kind" => Some(("ticketLeg.ticketSeat.customFareClass.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.fare-class" => Some(("ticketLeg.ticketSeat.fareClass", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat" => Some(("ticketLeg.ticketSeat.seat", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.kind" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.language" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.default-value.value" => Some(("ticketLeg.ticketSeat.seatAssignment.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.ticket-seat.seat-assignment.kind" => Some(("ticketLeg.ticketSeat.seatAssignment.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.kind" => Some(("ticketLeg.transitOperatorName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.language" => Some(("ticketLeg.transitOperatorName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.default-value.value" => Some(("ticketLeg.transitOperatorName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-operator-name.kind" => Some(("ticketLeg.transitOperatorName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.kind" => Some(("ticketLeg.transitTerminusName.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.language" => Some(("ticketLeg.transitTerminusName.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.default-value.value" => Some(("ticketLeg.transitTerminusName.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.transit-terminus-name.kind" => Some(("ticketLeg.transitTerminusName.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-leg.zone" => Some(("ticketLeg.zone", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-number" => Some(("ticketNumber", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.kind" => Some(("ticketRestrictions.otherRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.language" => Some(("ticketRestrictions.otherRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.default-value.value" => Some(("ticketRestrictions.otherRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.other-restrictions.kind" => Some(("ticketRestrictions.otherRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.kind" => Some(("ticketRestrictions.routeRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.language" => Some(("ticketRestrictions.routeRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.default-value.value" => Some(("ticketRestrictions.routeRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions.kind" => Some(("ticketRestrictions.routeRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.kind" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.language" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.default-value.value" => Some(("ticketRestrictions.routeRestrictionsDetails.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.route-restrictions-details.kind" => Some(("ticketRestrictions.routeRestrictionsDetails.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.kind" => Some(("ticketRestrictions.timeRestrictions.defaultValue.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.language" => Some(("ticketRestrictions.timeRestrictions.defaultValue.language", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.default-value.value" => Some(("ticketRestrictions.timeRestrictions.defaultValue.value", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-restrictions.time-restrictions.kind" => Some(("ticketRestrictions.timeRestrictions.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "ticket-status" => Some(("ticketStatus", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "trip-id" => Some(("tripId", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "trip-type" => Some(("tripType", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.end.date" => Some(("validTimeInterval.end.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.kind" => Some(("validTimeInterval.kind", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "valid-time-interval.start.date" => Some(("validTimeInterval.start.date", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + "version" => Some(("version", JsonTypeInfo { jtype: JsonType::String, ctype: ComplexType::Pod })), + _ => { + let suggestion = FieldCursor::did_you_mean(key, &vec!["account-id", "algorithm", "allow-multiple-users-per-object", "alternate-text", "android-app-link-info", "animation-type", "app-link-data", "app-logo-image", "app-target", "arrival-date-time", "barcode", "callback-options", "carriage", "class-id", "class-reference", "class-template-info", "coach", "comments", "concession-category", "confirmation-code", "content-description", "country-code", "currency-code", "custom-carriage-label", "custom-coach-label", "custom-concession-category", "custom-concession-category-label", "custom-confirmation-code-label", "custom-discount-message-label", "custom-fare-class", "custom-fare-class-label", "custom-fare-name-label", "custom-other-restrictions-label", "custom-platform-label", "custom-purchase-face-value-label", "custom-purchase-price-label", "custom-purchase-receipt-number-label", "custom-route-restrictions-details-label", "custom-route-restrictions-label", "custom-seat-label", "custom-ticket-number-label", "custom-ticket-status", "custom-time-restrictions-label", "custom-transit-terminus-name-label", "custom-zone-label", "date", "default-value", "departure-date-time", "description", "destination-name", "destination-station-code", "disable-expiration-notification", "discount-message", "enable-single-leg-itinerary", "enable-smart-tap", "end", "face-value", "fare-class", "fare-name", "first-row-option", "grouping-id", "grouping-info", "has-linked-device", "has-users", "hero-image", "hex-background-color", "homepage-uri", "id", "info-module-data", "ios-app-link-info", "issuer-name", "kind", "language", "language-override", "list-template-override", "localized-description", "localized-issuer-name", "logo", "micros", "multiple-devices-and-holders-allowed-status", "origin-name", "origin-station-code", "other-restrictions", "passenger-names", "passenger-type", "period-millis", "platform", "purchase-date-time", "purchase-details", "purchase-price", "purchase-receipt-number", "redemption-issuers", "render-encoding", "review", "review-status", "rotating-barcode", "route-restrictions", "route-restrictions-details", "seat", "seat-assignment", "security-animation", "show-code-text", "show-last-update-time", "smart-tap-redemption-value", "sort-index", "source-uri", "start", "state", "target-uri", "ticket-cost", "ticket-leg", "ticket-number", "ticket-restrictions", "ticket-seat", "ticket-status", "time-restrictions", "title", "totp-details", "transit-operator-name", "transit-option", "transit-terminus-name", "transit-type", "trip-id", "trip-type", "type", "update-request-url", "uri", "url", "valid-time-interval", "value", "value-pattern", "version", "view-unlock-requirement", "watermark", "web-app-link-info", "word-mark", "zone"]); + err.issues.push(CLIError::Field(FieldError::Unknown(temp_cursor.to_string(), suggestion, value.map(|v| v.to_string())))); + None + } + }; + if let Some((field_cursor_str, type_info)) = type_info { + FieldCursor::from(field_cursor_str).set_json_value(&mut object, value.unwrap(), type_info, err, &temp_cursor); + } + } + let mut request: api::TransitObject = json::value::from_value(object).unwrap(); + let mut call = self.hub.transitobject().update(request, opt.value_of("resource-id").unwrap_or("")); + for parg in opt.values_of("v").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + let (key, value) = parse_kv_arg(&*parg, err, false); + match key { + _ => { + let mut found = false; + for param in &self.gp { + if key == *param { + found = true; + call = call.param(self.gpm.iter().find(|t| t.0 == key).unwrap_or(&("", key)).1, value.unwrap_or("unset")); + break; + } + } + if !found { + err.issues.push(CLIError::UnknownParameter(key.to_string(), + {let mut v = Vec::new(); + v.extend(self.gp.iter().map(|v|*v)); + v } )); + } + } + } + } + let protocol = CallType::Standard; + if dry_run { + Ok(()) + } else { + assert!(err.issues.len() == 0); + for scope in self.opt.values_of("url").map(|i|i.collect()).unwrap_or(Vec::new()).iter() { + call = call.add_scope(scope); + } + let mut ostream = match writer_from_opts(opt.value_of("out")) { + Ok(mut f) => f, + Err(io_err) => return Err(DoitError::IoError(opt.value_of("out").unwrap_or("-").to_string(), io_err)), + }; + match match protocol { + CallType::Standard => call.doit().await, + _ => unreachable!() + } { + Err(api_err) => Err(DoitError::ApiError(api_err)), + Ok((mut response, output_schema)) => { + let mut value = json::value::to_value(&output_schema).expect("serde to work"); + remove_json_null_values(&mut value); + json::to_writer_pretty(&mut ostream, &value).unwrap(); + ostream.flush().unwrap(); + Ok(()) + } + } + } + } + + async fn _doit(&self, dry_run: bool) -> Result, Option> { + let mut err = InvalidOptionsError::new(); + let mut call_result: Result<(), DoitError> = Ok(()); + let mut err_opt: Option = None; + match self.opt.subcommand() { + ("eventticketclass", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._eventticketclass_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._eventticketclass_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._eventticketclass_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._eventticketclass_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._eventticketclass_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._eventticketclass_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("eventticketclass".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("eventticketobject", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._eventticketobject_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._eventticketobject_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._eventticketobject_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._eventticketobject_list(opt, dry_run, &mut err).await; + }, + ("modifylinkedofferobjects", Some(opt)) => { + call_result = self._eventticketobject_modifylinkedofferobjects(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._eventticketobject_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._eventticketobject_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("eventticketobject".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("flightclass", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._flightclass_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._flightclass_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._flightclass_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._flightclass_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._flightclass_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._flightclass_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("flightclass".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("flightobject", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._flightobject_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._flightobject_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._flightobject_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._flightobject_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._flightobject_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._flightobject_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("flightobject".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("genericclass", Some(opt)) => { + match opt.subcommand() { + ("get", Some(opt)) => { + call_result = self._genericclass_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._genericclass_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._genericclass_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._genericclass_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._genericclass_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("genericclass".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("genericobject", Some(opt)) => { + match opt.subcommand() { + ("get", Some(opt)) => { + call_result = self._genericobject_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._genericobject_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._genericobject_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._genericobject_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._genericobject_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("genericobject".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("giftcardclass", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._giftcardclass_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._giftcardclass_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._giftcardclass_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._giftcardclass_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._giftcardclass_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._giftcardclass_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("giftcardclass".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("giftcardobject", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._giftcardobject_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._giftcardobject_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._giftcardobject_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._giftcardobject_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._giftcardobject_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._giftcardobject_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("giftcardobject".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("issuer", Some(opt)) => { + match opt.subcommand() { + ("get", Some(opt)) => { + call_result = self._issuer_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._issuer_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._issuer_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._issuer_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._issuer_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("issuer".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("jwt", Some(opt)) => { + match opt.subcommand() { + ("insert", Some(opt)) => { + call_result = self._jwt_insert(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("jwt".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("loyaltyclass", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._loyaltyclass_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._loyaltyclass_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._loyaltyclass_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._loyaltyclass_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._loyaltyclass_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._loyaltyclass_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("loyaltyclass".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("loyaltyobject", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._loyaltyobject_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._loyaltyobject_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._loyaltyobject_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._loyaltyobject_list(opt, dry_run, &mut err).await; + }, + ("modifylinkedofferobjects", Some(opt)) => { + call_result = self._loyaltyobject_modifylinkedofferobjects(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._loyaltyobject_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._loyaltyobject_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("loyaltyobject".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("offerclass", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._offerclass_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._offerclass_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._offerclass_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._offerclass_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._offerclass_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._offerclass_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("offerclass".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("offerobject", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._offerobject_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._offerobject_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._offerobject_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._offerobject_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._offerobject_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._offerobject_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("offerobject".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("permissions", Some(opt)) => { + match opt.subcommand() { + ("get", Some(opt)) => { + call_result = self._permissions_get(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._permissions_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("permissions".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("smarttap", Some(opt)) => { + match opt.subcommand() { + ("insert", Some(opt)) => { + call_result = self._smarttap_insert(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("smarttap".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("transitclass", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._transitclass_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._transitclass_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._transitclass_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._transitclass_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._transitclass_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._transitclass_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("transitclass".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + ("transitobject", Some(opt)) => { + match opt.subcommand() { + ("addmessage", Some(opt)) => { + call_result = self._transitobject_addmessage(opt, dry_run, &mut err).await; + }, + ("get", Some(opt)) => { + call_result = self._transitobject_get(opt, dry_run, &mut err).await; + }, + ("insert", Some(opt)) => { + call_result = self._transitobject_insert(opt, dry_run, &mut err).await; + }, + ("list", Some(opt)) => { + call_result = self._transitobject_list(opt, dry_run, &mut err).await; + }, + ("patch", Some(opt)) => { + call_result = self._transitobject_patch(opt, dry_run, &mut err).await; + }, + ("update", Some(opt)) => { + call_result = self._transitobject_update(opt, dry_run, &mut err).await; + }, + _ => { + err.issues.push(CLIError::MissingMethodError("transitobject".to_string())); + writeln!(io::stderr(), "{}\n", opt.usage()).ok(); + } + } + }, + _ => { + err.issues.push(CLIError::MissingCommandError); + writeln!(io::stderr(), "{}\n", self.opt.usage()).ok(); + } + } + + if dry_run { + if err.issues.len() > 0 { + err_opt = Some(err); + } + Err(err_opt) + } else { + Ok(call_result) + } + } + + // Please note that this call will fail if any part of the opt can't be handled + async fn new(opt: ArgMatches<'n>, connector: S) -> Result, InvalidOptionsError> { + let (config_dir, secret) = { + let config_dir = match client::assure_config_dir_exists(opt.value_of("folder").unwrap_or("~/.google-service-cli")) { + Err(e) => return Err(InvalidOptionsError::single(e, 3)), + Ok(p) => p, + }; + + match client::application_secret_from_directory(&config_dir, "walletobjects1-secret.json", + "{\"installed\":{\"auth_uri\":\"https://accounts.google.com/o/oauth2/auth\",\"client_secret\":\"hCsslbCUyfehWMmbkG8vTYxG\",\"token_uri\":\"https://accounts.google.com/o/oauth2/token\",\"client_email\":\"\",\"redirect_uris\":[\"urn:ietf:wg:oauth:2.0:oob\",\"oob\"],\"client_x509_cert_url\":\"\",\"client_id\":\"620010449518-9ngf7o4dhs0dka470npqvor6dc5lqb9b.apps.googleusercontent.com\",\"auth_provider_x509_cert_url\":\"https://www.googleapis.com/oauth2/v1/certs\"}}") { + Ok(secret) => (config_dir, secret), + Err(e) => return Err(InvalidOptionsError::single(e, 4)) + } + }; + + let client = hyper::Client::builder().build(connector); + + let auth = oauth2::InstalledFlowAuthenticator::with_client( + secret, + oauth2::InstalledFlowReturnMethod::HTTPRedirect, + client.clone(), + ).persist_tokens_to_disk(format!("{}/walletobjects1", config_dir)).build().await.unwrap(); + + let engine = Engine { + opt: opt, + hub: api::Walletobjects::new(client, auth), + gp: vec!["$-xgafv", "access-token", "alt", "callback", "fields", "key", "oauth-token", "pretty-print", "quota-user", "upload-type", "upload-protocol"], + gpm: vec![ + ("$-xgafv", "$.xgafv"), + ("access-token", "access_token"), + ("oauth-token", "oauth_token"), + ("pretty-print", "prettyPrint"), + ("quota-user", "quotaUser"), + ("upload-type", "uploadType"), + ("upload-protocol", "upload_protocol"), + ] + }; + + match engine._doit(true).await { + Err(Some(err)) => Err(err), + Err(None) => Ok(engine), + Ok(_) => unreachable!(), + } + } + + async fn doit(&self) -> Result<(), DoitError> { + match self._doit(false).await { + Ok(res) => res, + Err(_) => unreachable!(), + } + } +} + +#[tokio::main] +async fn main() { + let mut exit_status = 0i32; + let arg_data = [ + ("eventticketclass", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the event ticket class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketclass_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the event ticket class with the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketclass_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an event ticket class with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketclass_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all event ticket classes for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketclass_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the event ticket class referenced by the given class ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketclass_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the event ticket class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketclass_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("eventticketobject", "methods: 'addmessage', 'get', 'insert', 'list', 'modifylinkedofferobjects', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the event ticket object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketobject_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the event ticket object with the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketobject_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an event ticket object with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketobject_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all event ticket objects for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketobject_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("modifylinkedofferobjects", + Some(r##"Modifies linked offer objects for the event ticket object with the given ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketobject_modifylinkedofferobjects", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the event ticket object referenced by the given object ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketobject_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the event ticket object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/eventticketobject_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("flightclass", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the flight class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightclass_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the flight class with the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightclass_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an flight class with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightclass_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all flight classes for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightclass_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the flight class referenced by the given class ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightclass_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the flight class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightclass_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("flightobject", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the flight object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightobject_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the flight object with the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightobject_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an flight object with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightobject_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all flight objects for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightobject_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the flight object referenced by the given object ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightobject_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the flight object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/flightobject_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("genericclass", "methods: 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("get", + Some(r##"Returns the generic class with the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericclass_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts a generic class with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericclass_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all generic classes for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericclass_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the generic class referenced by the given class ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericclass_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the Generic class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericclass_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("genericobject", "methods: 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("get", + Some(r##"Returns the generic object with the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericobject_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts a generic object with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericobject_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all generic objects for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericobject_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the generic object referenced by the given object ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericobject_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the generic object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/genericobject_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("giftcardclass", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the gift card class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardclass_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the gift card class with the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardclass_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an gift card class with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardclass_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all gift card classes for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardclass_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the gift card class referenced by the given class ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardclass_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the gift card class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardclass_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("giftcardobject", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the gift card object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardobject_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the gift card object with the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardobject_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an gift card object with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardobject_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all gift card objects for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardobject_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the gift card object referenced by the given object ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardobject_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the gift card object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/giftcardobject_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("issuer", "methods: 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("get", + Some(r##"Returns the issuer with the given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/issuer_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an issuer."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an issuer with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/issuer_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all issuers shared to the caller."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/issuer_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the issuer referenced by the given issuer ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/issuer_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an issuer."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the issuer referenced by the given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/issuer_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an issuer."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("jwt", "methods: 'insert'", vec![ + ("insert", + Some(r##"Inserts the resources in the JWT."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/jwt_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("loyaltyclass", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the loyalty class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyclass_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the loyalty class with the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyclass_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an loyalty class with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyclass_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all loyalty classes for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyclass_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the loyalty class referenced by the given class ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyclass_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the loyalty class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyclass_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("loyaltyobject", "methods: 'addmessage', 'get', 'insert', 'list', 'modifylinkedofferobjects', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the loyalty object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyobject_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the loyalty object with the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyobject_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an loyalty object with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyobject_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all loyalty objects for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyobject_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("modifylinkedofferobjects", + Some(r##"Modifies linked offer objects for the loyalty object with the given ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyobject_modifylinkedofferobjects", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the loyalty object referenced by the given object ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyobject_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the loyalty object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/loyaltyobject_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("offerclass", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the offer class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerclass_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the offer class with the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerclass_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an offer class with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerclass_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all offer classes for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerclass_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the offer class referenced by the given class ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerclass_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the offer class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerclass_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("offerobject", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the offer object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerobject_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the offer object with the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerobject_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an offer object with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerobject_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all offer objects for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerobject_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the offer object referenced by the given object ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerobject_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the offer object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/offerobject_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("permissions", "methods: 'get' and 'update'", vec![ + ("get", + Some(r##"Returns the permissions for the given issuer id."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/permissions_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an issuer. This ID must be unique across all issuers."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the permissions for the given issuer."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/permissions_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an issuer. This ID must be unique across all issuers."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("smarttap", "methods: 'insert'", vec![ + ("insert", + Some(r##"Inserts the smart tap."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/smarttap_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("transitclass", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the transit class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitclass_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the transit class with the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitclass_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts a transit class with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitclass_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all transit classes for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitclass_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the transit class referenced by the given class ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitclass_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the transit class referenced by the given class ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitclass_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ("transitobject", "methods: 'addmessage', 'get', 'insert', 'list', 'patch' and 'update'", vec![ + ("addmessage", + Some(r##"Adds a message to the transit object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitobject_addmessage", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("get", + Some(r##"Returns the transit object with the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitobject_get", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("insert", + Some(r##"Inserts an transit object with the given ID and properties."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitobject_insert", + vec![ + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("list", + Some(r##"Returns a list of all transit objects for a given issuer ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitobject_list", + vec![ + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("patch", + Some(r##"Updates the transit object referenced by the given object ID. This method supports patch semantics."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitobject_patch", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ("update", + Some(r##"Updates the transit object referenced by the given object ID."##), + "Details at http://byron.github.io/google-apis-rs/google_walletobjects1_cli/transitobject_update", + vec![ + (Some(r##"resource-id"##), + None, + Some(r##"The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'."##), + Some(true), + Some(false)), + + (Some(r##"kv"##), + Some(r##"r"##), + Some(r##"Set various fields of the request structure, matching the key=value form"##), + Some(true), + Some(true)), + + (Some(r##"v"##), + Some(r##"p"##), + Some(r##"Set various optional parameters, matching the key=value form"##), + Some(false), + Some(true)), + + (Some(r##"out"##), + Some(r##"o"##), + Some(r##"Specify the file into which to write the program's output"##), + Some(false), + Some(false)), + ]), + ]), + + ]; + + let mut app = App::new("walletobjects1") + .author("Sebastian Thiel ") + .version("4.0.2+20220928") + .about("API for issuers to save and manage Google Wallet Objects.") + .after_help("All documentation details can be found at http://byron.github.io/google-apis-rs/google_walletobjects1_cli") + .arg(Arg::with_name("url") + .long("scope") + .help("Specify the authentication a method should be executed in. Each scope requires the user to grant this application permission to use it.If unset, it defaults to the shortest scope url for a particular method.") + .multiple(true) + .takes_value(true)) + .arg(Arg::with_name("folder") + .long("config-dir") + .help("A directory into which we will store our persistent data. Defaults to a user-writable directory that we will create during the first invocation.[default: ~/.google-service-cli") + .multiple(false) + .takes_value(true)) + .arg(Arg::with_name("debug") + .long("debug") + .help("Debug print all errors") + .multiple(false) + .takes_value(false)); + + for &(main_command_name, about, ref subcommands) in arg_data.iter() { + let mut mcmd = SubCommand::with_name(main_command_name).about(about); + + for &(sub_command_name, ref desc, url_info, ref args) in subcommands { + let mut scmd = SubCommand::with_name(sub_command_name); + if let &Some(desc) = desc { + scmd = scmd.about(desc); + } + scmd = scmd.after_help(url_info); + + for &(ref arg_name, ref flag, ref desc, ref required, ref multi) in args { + let arg_name_str = + match (arg_name, flag) { + (&Some(an), _ ) => an, + (_ , &Some(f)) => f, + _ => unreachable!(), + }; + let mut arg = Arg::with_name(arg_name_str) + .empty_values(false); + if let &Some(short_flag) = flag { + arg = arg.short(short_flag); + } + if let &Some(desc) = desc { + arg = arg.help(desc); + } + if arg_name.is_some() && flag.is_some() { + arg = arg.takes_value(true); + } + if let &Some(required) = required { + arg = arg.required(required); + } + if let &Some(multi) = multi { + arg = arg.multiple(multi); + } + scmd = scmd.arg(arg); + } + mcmd = mcmd.subcommand(scmd); + } + app = app.subcommand(mcmd); + } + + let matches = app.get_matches(); + + let debug = matches.is_present("adebug"); + let connector = hyper_rustls::HttpsConnectorBuilder::new().with_native_roots() + .https_or_http() + .enable_http1() + .enable_http2() + .build(); + + match Engine::new(matches, connector).await { + Err(err) => { + exit_status = err.exit_code; + writeln!(io::stderr(), "{}", err).ok(); + }, + Ok(engine) => { + if let Err(doit_err) = engine.doit().await { + exit_status = 1; + match doit_err { + DoitError::IoError(path, err) => { + writeln!(io::stderr(), "Failed to open output file '{}': {}", path, err).ok(); + }, + DoitError::ApiError(err) => { + if debug { + writeln!(io::stderr(), "{:#?}", err).ok(); + } else { + writeln!(io::stderr(), "{}", err).ok(); + } + } + } + } + } + } + + std::process::exit(exit_status); +}