fix(all): update all code to latest version

* add new APIs
* remove old ones
* add latest json files
This commit is contained in:
Sebastian Thiel
2015-04-24 20:07:12 +02:00
parent 845a568b25
commit f8689be451
650 changed files with 80776 additions and 88805 deletions

View File

@@ -7,6 +7,7 @@
extern crate docopt;
extern crate yup_oauth2 as oauth2;
extern crate yup_hyper_mock as mock;
extern crate rustc_serialize;
extern crate serde;
extern crate hyper;
@@ -43,6 +44,12 @@ Configuration:
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]
--debug
Output all server communication to standard error. `tx` and `rx` are placed into
the same stream.
--debug-auth
Output all communication related to authentication to standard error. `tx` and `rx` are placed into
the same stream.
");
mod cmn;
@@ -64,10 +71,10 @@ struct Engine {
impl Engine {
fn _instance_group_managers_abandon_instances(&self, dry_run: bool, err: &mut InvalidOptionsError)
-> Option<api::Error> {
let mut request: api::InstanceGroupManagersAbandonInstancesRequest = Default::default();
let mut request = api::InstanceGroupManagersAbandonInstancesRequest::default();
let mut call = self.hub.instance_group_managers().abandon_instances(&request, &self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_instance_group_manager);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -87,18 +94,19 @@ impl Engine {
_ => err.issues.push(CLIError::UnknownParameter(key.to_string())),
}
}
let mut field_name: FieldCursor = Default::default();
let mut field_name = FieldCursor::default();
for kvarg in self.opt.arg_kv.iter() {
let (key, value) = parse_kv_arg(&*kvarg, err);
let (key, value) = parse_kv_arg(&*kvarg, err, false);
if let Err(field_err) = field_name.set(&*key) {
err.issues.push(field_err);
}
match &field_name.to_string()[..] {
"instances" => {
if request.instances.is_none() {
request.instances = Some(Default::default());
request.instances = Some(Default::default());
}
request.instances.as_mut().unwrap().push(value.unwrap_or("").to_string());
request.instances.as_mut().unwrap().push(value.unwrap_or("").to_string());
},
_ => {
err.issues.push(CLIError::Field(FieldError::Unknown(field_name.to_string())));
@@ -117,8 +125,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -129,7 +136,7 @@ impl Engine {
-> Option<api::Error> {
let mut call = self.hub.instance_group_managers().delete(&self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_instance_group_manager);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -161,8 +168,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -171,10 +177,10 @@ impl Engine {
fn _instance_group_managers_delete_instances(&self, dry_run: bool, err: &mut InvalidOptionsError)
-> Option<api::Error> {
let mut request: api::InstanceGroupManagersDeleteInstancesRequest = Default::default();
let mut request = api::InstanceGroupManagersDeleteInstancesRequest::default();
let mut call = self.hub.instance_group_managers().delete_instances(&request, &self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_instance_group_manager);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -194,18 +200,19 @@ impl Engine {
_ => err.issues.push(CLIError::UnknownParameter(key.to_string())),
}
}
let mut field_name: FieldCursor = Default::default();
let mut field_name = FieldCursor::default();
for kvarg in self.opt.arg_kv.iter() {
let (key, value) = parse_kv_arg(&*kvarg, err);
let (key, value) = parse_kv_arg(&*kvarg, err, false);
if let Err(field_err) = field_name.set(&*key) {
err.issues.push(field_err);
}
match &field_name.to_string()[..] {
"instances" => {
if request.instances.is_none() {
request.instances = Some(Default::default());
request.instances = Some(Default::default());
}
request.instances.as_mut().unwrap().push(value.unwrap_or("").to_string());
request.instances.as_mut().unwrap().push(value.unwrap_or("").to_string());
},
_ => {
err.issues.push(CLIError::Field(FieldError::Unknown(field_name.to_string())));
@@ -224,8 +231,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -236,7 +242,7 @@ impl Engine {
-> Option<api::Error> {
let mut call = self.hub.instance_group_managers().get(&self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_instance_group_manager);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -268,8 +274,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -278,11 +283,11 @@ impl Engine {
fn _instance_group_managers_insert(&self, dry_run: bool, err: &mut InvalidOptionsError)
-> Option<api::Error> {
let mut request: api::InstanceGroupManager = Default::default();
let mut request = api::InstanceGroupManager::default();
let size: i32 = arg_from_str(&self.opt.arg_size, err, "<size>", "integer");
let mut call = self.hub.instance_group_managers().insert(&request, &self.opt.arg_project, &self.opt.arg_zone, size);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -302,9 +307,10 @@ impl Engine {
_ => err.issues.push(CLIError::UnknownParameter(key.to_string())),
}
}
let mut field_name: FieldCursor = Default::default();
let mut field_name = FieldCursor::default();
for kvarg in self.opt.arg_kv.iter() {
let (key, value) = parse_kv_arg(&*kvarg, err);
let (key, value) = parse_kv_arg(&*kvarg, err, false);
if let Err(field_err) = field_name.set(&*key) {
err.issues.push(field_err);
}
@@ -320,9 +326,9 @@ impl Engine {
},
"target-pools" => {
if request.target_pools.is_none() {
request.target_pools = Some(Default::default());
request.target_pools = Some(Default::default());
}
request.target_pools.as_mut().unwrap().push(value.unwrap_or("").to_string());
request.target_pools.as_mut().unwrap().push(value.unwrap_or("").to_string());
},
"kind" => {
request.kind = Some(value.unwrap_or("").to_string());
@@ -368,8 +374,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -380,7 +385,7 @@ impl Engine {
-> Option<api::Error> {
let mut call = self.hub.instance_group_managers().list(&self.opt.arg_project, &self.opt.arg_zone);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"page-token" => {
call = call.page_token(value.unwrap_or(""));
@@ -421,8 +426,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -431,10 +435,10 @@ impl Engine {
fn _instance_group_managers_recreate_instances(&self, dry_run: bool, err: &mut InvalidOptionsError)
-> Option<api::Error> {
let mut request: api::InstanceGroupManagersRecreateInstancesRequest = Default::default();
let mut request = api::InstanceGroupManagersRecreateInstancesRequest::default();
let mut call = self.hub.instance_group_managers().recreate_instances(&request, &self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_instance_group_manager);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -454,18 +458,19 @@ impl Engine {
_ => err.issues.push(CLIError::UnknownParameter(key.to_string())),
}
}
let mut field_name: FieldCursor = Default::default();
let mut field_name = FieldCursor::default();
for kvarg in self.opt.arg_kv.iter() {
let (key, value) = parse_kv_arg(&*kvarg, err);
let (key, value) = parse_kv_arg(&*kvarg, err, false);
if let Err(field_err) = field_name.set(&*key) {
err.issues.push(field_err);
}
match &field_name.to_string()[..] {
"instances" => {
if request.instances.is_none() {
request.instances = Some(Default::default());
request.instances = Some(Default::default());
}
request.instances.as_mut().unwrap().push(value.unwrap_or("").to_string());
request.instances.as_mut().unwrap().push(value.unwrap_or("").to_string());
},
_ => {
err.issues.push(CLIError::Field(FieldError::Unknown(field_name.to_string())));
@@ -484,8 +489,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -497,7 +501,7 @@ impl Engine {
let size: i32 = arg_from_str(&self.opt.arg_size, err, "<size>", "integer");
let mut call = self.hub.instance_group_managers().resize(&self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_instance_group_manager, size);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -529,8 +533,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -539,10 +542,10 @@ impl Engine {
fn _instance_group_managers_set_instance_template(&self, dry_run: bool, err: &mut InvalidOptionsError)
-> Option<api::Error> {
let mut request: api::InstanceGroupManagersSetInstanceTemplateRequest = Default::default();
let mut request = api::InstanceGroupManagersSetInstanceTemplateRequest::default();
let mut call = self.hub.instance_group_managers().set_instance_template(&request, &self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_instance_group_manager);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -562,9 +565,10 @@ impl Engine {
_ => err.issues.push(CLIError::UnknownParameter(key.to_string())),
}
}
let mut field_name: FieldCursor = Default::default();
let mut field_name = FieldCursor::default();
for kvarg in self.opt.arg_kv.iter() {
let (key, value) = parse_kv_arg(&*kvarg, err);
let (key, value) = parse_kv_arg(&*kvarg, err, false);
if let Err(field_err) = field_name.set(&*key) {
err.issues.push(field_err);
}
@@ -589,8 +593,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -599,10 +602,10 @@ impl Engine {
fn _instance_group_managers_set_target_pools(&self, dry_run: bool, err: &mut InvalidOptionsError)
-> Option<api::Error> {
let mut request: api::InstanceGroupManagersSetTargetPoolsRequest = Default::default();
let mut request = api::InstanceGroupManagersSetTargetPoolsRequest::default();
let mut call = self.hub.instance_group_managers().set_target_pools(&request, &self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_instance_group_manager);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -622,18 +625,19 @@ impl Engine {
_ => err.issues.push(CLIError::UnknownParameter(key.to_string())),
}
}
let mut field_name: FieldCursor = Default::default();
let mut field_name = FieldCursor::default();
for kvarg in self.opt.arg_kv.iter() {
let (key, value) = parse_kv_arg(&*kvarg, err);
let (key, value) = parse_kv_arg(&*kvarg, err, false);
if let Err(field_err) = field_name.set(&*key) {
err.issues.push(field_err);
}
match &field_name.to_string()[..] {
"target-pools" => {
if request.target_pools.is_none() {
request.target_pools = Some(Default::default());
request.target_pools = Some(Default::default());
}
request.target_pools.as_mut().unwrap().push(value.unwrap_or("").to_string());
request.target_pools.as_mut().unwrap().push(value.unwrap_or("").to_string());
},
"fingerprint" => {
request.fingerprint = Some(value.unwrap_or("").to_string());
@@ -655,8 +659,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -667,7 +670,7 @@ impl Engine {
-> Option<api::Error> {
let mut call = self.hub.zone_operations().get(&self.opt.arg_project, &self.opt.arg_zone, &self.opt.arg_operation);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"alt"
|"fields"
@@ -699,8 +702,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -711,7 +713,7 @@ impl Engine {
-> Option<api::Error> {
let mut call = self.hub.zone_operations().list(&self.opt.arg_project, &self.opt.arg_zone);
for parg in self.opt.arg_v.iter() {
let (key, value) = parse_kv_arg(&*parg, err);
let (key, value) = parse_kv_arg(&*parg, err, false);
match key {
"page-token" => {
call = call.page_token(value.unwrap_or(""));
@@ -752,8 +754,7 @@ impl Engine {
} {
Err(api_err) => Some(api_err),
Ok((mut response, output_schema)) => {
println!("DEBUG: REMOVE ME {:?}", response);
serde::json::to_writer(&mut ostream, &output_schema).unwrap();
serde::json::to_writer_pretty(&mut ostream, &output_schema).unwrap();
None
}
}
@@ -789,7 +790,8 @@ impl Engine {
} else {
unreachable!();
}
} else if self.opt.cmd_zone_operations {
}
else if self.opt.cmd_zone_operations {
if self.opt.cmd_get {
call_result = self._zone_operations_get(dry_run, &mut err);
} else if self.opt.cmd_list {
@@ -817,21 +819,37 @@ impl Engine {
Ok(p) => p,
};
match cmn::application_secret_from_directory(&config_dir, "replicapool1-beta2-secret.json") {
match cmn::application_secret_from_directory(&config_dir, "replicapool1-beta2-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 auth = Authenticator::new(&secret, DefaultAuthenticatorDelegate,
hyper::Client::new(),
JsonTokenStorage {
program_name: "replicapool1-beta2",
db_dir: config_dir.clone(),
}, None);
let auth = Authenticator::new( &secret, DefaultAuthenticatorDelegate,
if opt.flag_debug_auth {
hyper::Client::with_connector(mock::TeeConnector {
connector: hyper::net::HttpConnector(None)
})
} else {
hyper::Client::new()
},
JsonTokenStorage {
program_name: "replicapool1-beta2",
db_dir: config_dir.clone(),
}, None);
let client =
if opt.flag_debug {
hyper::Client::with_connector(mock::TeeConnector {
connector: hyper::net::HttpConnector(None)
})
} else {
hyper::Client::new()
};
let engine = Engine {
opt: opt,
hub: api::Replicapool::new(hyper::Client::new(), auth),
hub: api::Replicapool::new(client, auth),
};
match engine._doit(true) {
@@ -851,12 +869,13 @@ fn main() {
let opts: Options = Options::docopt().decode().unwrap_or_else(|e| e.exit());
match Engine::new(opts) {
Err(err) => {
write!(io::stderr(), "{}", err).ok();
writeln!(io::stderr(), "{}", err).ok();
env::set_exit_status(err.exit_code);
},
Ok(engine) => {
if let Some(err) = engine.doit() {
write!(io::stderr(), "{}", err).ok();
writeln!(io::stderr(), "{:?}", err).ok();
writeln!(io::stderr(), "{}", err).ok();
env::set_exit_status(1);
}
}