mtncloud-cli 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.dockerignore +20 -0
- data/.github/pull_request_template.md +14 -0
- data/.github/workflows/ci.yml +56 -0
- data/.github/workflows/release.yml +46 -0
- data/.gitignore +25 -0
- data/CLAUDE.md +24 -0
- data/CONTRIBUTING.md +91 -0
- data/Dockerfile +19 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +23 -0
- data/README.md +187 -0
- data/Rakefile +26 -0
- data/bin/mcs +3 -0
- data/bin/mtncloud +27 -0
- data/lib/mtncloud/api/account_groups_interface.rb +48 -0
- data/lib/mtncloud/api/account_users_interface.rb +68 -0
- data/lib/mtncloud/api/accounts_interface.rb +9 -0
- data/lib/mtncloud/api/activity_interface.rb +9 -0
- data/lib/mtncloud/api/affinity_groups_interface.rb +46 -0
- data/lib/mtncloud/api/api_client.rb +1091 -0
- data/lib/mtncloud/api/appliance_settings_interface.rb +49 -0
- data/lib/mtncloud/api/approvals_interface.rb +32 -0
- data/lib/mtncloud/api/apps_interface.rb +180 -0
- data/lib/mtncloud/api/archive_buckets_interface.rb +116 -0
- data/lib/mtncloud/api/archive_files_interface.rb +173 -0
- data/lib/mtncloud/api/audit_interface.rb +9 -0
- data/lib/mtncloud/api/auth_interface.rb +58 -0
- data/lib/mtncloud/api/backup_jobs_interface.rb +13 -0
- data/lib/mtncloud/api/backup_restores_interface.rb +27 -0
- data/lib/mtncloud/api/backup_results_interface.rb +32 -0
- data/lib/mtncloud/api/backup_service_types_interface.rb +9 -0
- data/lib/mtncloud/api/backup_services_interface.rb +9 -0
- data/lib/mtncloud/api/backup_settings_interface.rb +20 -0
- data/lib/mtncloud/api/backup_types_interface.rb +9 -0
- data/lib/mtncloud/api/backups_interface.rb +21 -0
- data/lib/mtncloud/api/billing_interface.rb +34 -0
- data/lib/mtncloud/api/blueprints_interface.rb +70 -0
- data/lib/mtncloud/api/body_io.rb +22 -0
- data/lib/mtncloud/api/budgets_interface.rb +48 -0
- data/lib/mtncloud/api/catalog_item_types_interface.rb +29 -0
- data/lib/mtncloud/api/certificate_types_interface.rb +14 -0
- data/lib/mtncloud/api/certificates_interface.rb +9 -0
- data/lib/mtncloud/api/clients_interface.rb +41 -0
- data/lib/mtncloud/api/cloud_datastores_interface.rb +48 -0
- data/lib/mtncloud/api/cloud_folders_interface.rb +41 -0
- data/lib/mtncloud/api/cloud_policies_interface.rb +41 -0
- data/lib/mtncloud/api/cloud_resource_pools_interface.rb +66 -0
- data/lib/mtncloud/api/clouds_interface.rb +217 -0
- data/lib/mtncloud/api/clusters_interface.rb +471 -0
- data/lib/mtncloud/api/containers_interface.rb +145 -0
- data/lib/mtncloud/api/credential_types_interface.rb +9 -0
- data/lib/mtncloud/api/credentials_interface.rb +9 -0
- data/lib/mtncloud/api/custom_instance_types_interface.rb +99 -0
- data/lib/mtncloud/api/cypher_interface.rb +51 -0
- data/lib/mtncloud/api/dashboard_interface.rb +14 -0
- data/lib/mtncloud/api/datastores_interface.rb +21 -0
- data/lib/mtncloud/api/deploy_interface.rb +44 -0
- data/lib/mtncloud/api/deployments_interface.rb +79 -0
- data/lib/mtncloud/api/distributed_workers_interface.rb +41 -0
- data/lib/mtncloud/api/email_templates_interface.rb +53 -0
- data/lib/mtncloud/api/environments_interface.rb +48 -0
- data/lib/mtncloud/api/execute_schedules_interface.rb +71 -0
- data/lib/mtncloud/api/execution_request_interface.rb +27 -0
- data/lib/mtncloud/api/file_copy_request_interface.rb +68 -0
- data/lib/mtncloud/api/forgot_password_interface.rb +17 -0
- data/lib/mtncloud/api/group_policies_interface.rb +41 -0
- data/lib/mtncloud/api/groups_interface.rb +73 -0
- data/lib/mtncloud/api/guidance_interface.rb +44 -0
- data/lib/mtncloud/api/guidance_settings_interface.rb +17 -0
- data/lib/mtncloud/api/health_interface.rb +100 -0
- data/lib/mtncloud/api/host_vm_groups_interface.rb +37 -0
- data/lib/mtncloud/api/hub_interface.rb +25 -0
- data/lib/mtncloud/api/image_builder_boot_scripts_interface.rb +41 -0
- data/lib/mtncloud/api/image_builder_image_builds_interface.rb +73 -0
- data/lib/mtncloud/api/image_builder_interface.rb +20 -0
- data/lib/mtncloud/api/image_builder_preseed_scripts_interface.rb +41 -0
- data/lib/mtncloud/api/instance_types_interface.rb +20 -0
- data/lib/mtncloud/api/instances_interface.rb +453 -0
- data/lib/mtncloud/api/integration_types_interface.rb +14 -0
- data/lib/mtncloud/api/integrations_interface.rb +74 -0
- data/lib/mtncloud/api/invoice_line_items_interface.rb +9 -0
- data/lib/mtncloud/api/invoices_interface.rb +28 -0
- data/lib/mtncloud/api/jobs_interface.rb +83 -0
- data/lib/mtncloud/api/key_pairs_interface.rb +57 -0
- data/lib/mtncloud/api/library_cluster_layouts_interface.rb +47 -0
- data/lib/mtncloud/api/library_cluster_packages_interface.rb +60 -0
- data/lib/mtncloud/api/library_container_scripts_interface.rb +43 -0
- data/lib/mtncloud/api/library_container_templates_interface.rb +43 -0
- data/lib/mtncloud/api/library_container_types_interface.rb +59 -0
- data/lib/mtncloud/api/library_container_upgrades_interface.rb +60 -0
- data/lib/mtncloud/api/library_instance_types_interface.rb +74 -0
- data/lib/mtncloud/api/library_layouts_interface.rb +69 -0
- data/lib/mtncloud/api/library_operating_systems_interface.rb +63 -0
- data/lib/mtncloud/api/library_spec_template_types_interface.rb +43 -0
- data/lib/mtncloud/api/library_spec_templates_interface.rb +43 -0
- data/lib/mtncloud/api/license_interface.rb +30 -0
- data/lib/mtncloud/api/load_balancer_monitors_interface.rb +9 -0
- data/lib/mtncloud/api/load_balancer_pool_nodes_interface.rb +8 -0
- data/lib/mtncloud/api/load_balancer_pools_interface.rb +9 -0
- data/lib/mtncloud/api/load_balancer_pools_secondary_interface.rb +9 -0
- data/lib/mtncloud/api/load_balancer_profiles_interface.rb +9 -0
- data/lib/mtncloud/api/load_balancer_types_interface.rb +9 -0
- data/lib/mtncloud/api/load_balancer_virtual_servers_interface.rb +18 -0
- data/lib/mtncloud/api/load_balancers_interface.rb +14 -0
- data/lib/mtncloud/api/log_settings_interface.rb +44 -0
- data/lib/mtncloud/api/logs_interface.rb +37 -0
- data/lib/mtncloud/api/migrations_interface.rb +49 -0
- data/lib/mtncloud/api/monitoring_alerts_interface.rb +39 -0
- data/lib/mtncloud/api/monitoring_apps_interface.rb +69 -0
- data/lib/mtncloud/api/monitoring_checks_interface.rb +103 -0
- data/lib/mtncloud/api/monitoring_contacts_interface.rb +41 -0
- data/lib/mtncloud/api/monitoring_groups_interface.rb +77 -0
- data/lib/mtncloud/api/monitoring_incidents_interface.rb +107 -0
- data/lib/mtncloud/api/monitoring_interface.rb +35 -0
- data/lib/mtncloud/api/monitoring_settings_interface.rb +21 -0
- data/lib/mtncloud/api/network_dhcp_relays_interface.rb +36 -0
- data/lib/mtncloud/api/network_dhcp_servers_interface.rb +36 -0
- data/lib/mtncloud/api/network_domain_records_interface.rb +41 -0
- data/lib/mtncloud/api/network_domains_interface.rb +41 -0
- data/lib/mtncloud/api/network_edge_clusters_interface.rb +26 -0
- data/lib/mtncloud/api/network_floating_ips_interface.rb +40 -0
- data/lib/mtncloud/api/network_groups_interface.rb +41 -0
- data/lib/mtncloud/api/network_pool_ips_interface.rb +41 -0
- data/lib/mtncloud/api/network_pool_server_types_interface.rb +9 -0
- data/lib/mtncloud/api/network_pool_servers_interface.rb +48 -0
- data/lib/mtncloud/api/network_pools_interface.rb +41 -0
- data/lib/mtncloud/api/network_proxies_interface.rb +41 -0
- data/lib/mtncloud/api/network_routers_interface.rb +181 -0
- data/lib/mtncloud/api/network_security_server_types_interface.rb +9 -0
- data/lib/mtncloud/api/network_security_servers_interface.rb +27 -0
- data/lib/mtncloud/api/network_server_groups_interface.rb +7 -0
- data/lib/mtncloud/api/network_server_types_interface.rb +9 -0
- data/lib/mtncloud/api/network_servers_interface.rb +102 -0
- data/lib/mtncloud/api/network_services_interface.rb +63 -0
- data/lib/mtncloud/api/network_static_routes_interface.rb +36 -0
- data/lib/mtncloud/api/network_subnets_interface.rb +42 -0
- data/lib/mtncloud/api/network_types_interface.rb +20 -0
- data/lib/mtncloud/api/networks_interface.rb +48 -0
- data/lib/mtncloud/api/option_type_forms_interface.rb +9 -0
- data/lib/mtncloud/api/option_type_lists_interface.rb +53 -0
- data/lib/mtncloud/api/option_types_interface.rb +41 -0
- data/lib/mtncloud/api/options_interface.rb +17 -0
- data/lib/mtncloud/api/packages_interface.rb +112 -0
- data/lib/mtncloud/api/ping_interface.rb +22 -0
- data/lib/mtncloud/api/plugins_interface.rb +22 -0
- data/lib/mtncloud/api/policies_interface.rb +56 -0
- data/lib/mtncloud/api/power_schedules_interface.rb +71 -0
- data/lib/mtncloud/api/price_sets_interface.rb +39 -0
- data/lib/mtncloud/api/prices_interface.rb +71 -0
- data/lib/mtncloud/api/processes_interface.rb +40 -0
- data/lib/mtncloud/api/projects_interface.rb +33 -0
- data/lib/mtncloud/api/provision_types_interface.rb +24 -0
- data/lib/mtncloud/api/provisioning_license_types_interface.rb +31 -0
- data/lib/mtncloud/api/provisioning_licenses_interface.rb +60 -0
- data/lib/mtncloud/api/provisioning_settings_interface.rb +26 -0
- data/lib/mtncloud/api/read_interface.rb +24 -0
- data/lib/mtncloud/api/reports_interface.rb +70 -0
- data/lib/mtncloud/api/resource_pool_groups_interface.rb +51 -0
- data/lib/mtncloud/api/rest_interface.rb +37 -0
- data/lib/mtncloud/api/roles_interface.rb +151 -0
- data/lib/mtncloud/api/scale_thresholds_interface.rb +9 -0
- data/lib/mtncloud/api/search_interface.rb +13 -0
- data/lib/mtncloud/api/secondary_read_interface.rb +25 -0
- data/lib/mtncloud/api/secondary_rest_interface.rb +42 -0
- data/lib/mtncloud/api/security_group_rules_interface.rb +35 -0
- data/lib/mtncloud/api/security_groups_interface.rb +56 -0
- data/lib/mtncloud/api/security_package_types_interface.rb +9 -0
- data/lib/mtncloud/api/security_packages_interface.rb +9 -0
- data/lib/mtncloud/api/security_scans_interface.rb +9 -0
- data/lib/mtncloud/api/server_devices_interface.rb +30 -0
- data/lib/mtncloud/api/server_types_interface.rb +20 -0
- data/lib/mtncloud/api/servers_interface.rb +230 -0
- data/lib/mtncloud/api/service_catalog_interface.rb +89 -0
- data/lib/mtncloud/api/service_plans_interface.rb +62 -0
- data/lib/mtncloud/api/setup_interface.rb +46 -0
- data/lib/mtncloud/api/snapshots_interface.rb +19 -0
- data/lib/mtncloud/api/storage_datastores_interface.rb +44 -0
- data/lib/mtncloud/api/storage_providers_interface.rb +151 -0
- data/lib/mtncloud/api/storage_server_types_interface.rb +14 -0
- data/lib/mtncloud/api/storage_servers_interface.rb +9 -0
- data/lib/mtncloud/api/storage_volume_types_interface.rb +9 -0
- data/lib/mtncloud/api/storage_volumes_interface.rb +24 -0
- data/lib/mtncloud/api/subnet_types_interface.rb +20 -0
- data/lib/mtncloud/api/subnets_interface.rb +41 -0
- data/lib/mtncloud/api/support_bundles_interface.rb +46 -0
- data/lib/mtncloud/api/system_types_interface.rb +13 -0
- data/lib/mtncloud/api/systems_interface.rb +55 -0
- data/lib/mtncloud/api/task_sets_interface.rb +52 -0
- data/lib/mtncloud/api/tasks_interface.rb +66 -0
- data/lib/mtncloud/api/tokens_interface.rb +39 -0
- data/lib/mtncloud/api/usage_interface.rb +18 -0
- data/lib/mtncloud/api/user_groups_interface.rb +59 -0
- data/lib/mtncloud/api/user_settings_interface.rb +90 -0
- data/lib/mtncloud/api/user_sources_interface.rb +99 -0
- data/lib/mtncloud/api/users_interface.rb +33 -0
- data/lib/mtncloud/api/vdi_allocations_interface.rb +9 -0
- data/lib/mtncloud/api/vdi_apps_interface.rb +9 -0
- data/lib/mtncloud/api/vdi_gateways_interface.rb +9 -0
- data/lib/mtncloud/api/vdi_interface.rb +28 -0
- data/lib/mtncloud/api/vdi_pools_interface.rb +19 -0
- data/lib/mtncloud/api/virtual_images_interface.rb +210 -0
- data/lib/mtncloud/api/virtual_servers_interface.rb +9 -0
- data/lib/mtncloud/api/virtual_switches_interface.rb +9 -0
- data/lib/mtncloud/api/whitelabel_settings_interface.rb +57 -0
- data/lib/mtncloud/api/whoami_interface.rb +13 -0
- data/lib/mtncloud/api/wiki_interface.rb +48 -0
- data/lib/mtncloud/api.rb +12 -0
- data/lib/mtncloud/benchmarking.rb +259 -0
- data/lib/mtncloud/cli/cli_command.rb +2281 -0
- data/lib/mtncloud/cli/cli_registry.rb +337 -0
- data/lib/mtncloud/cli/commands/access_token_command.rb +201 -0
- data/lib/mtncloud/cli/commands/account_groups_command.rb +530 -0
- data/lib/mtncloud/cli/commands/activity_command.rb +149 -0
- data/lib/mtncloud/cli/commands/affinity_groups_command.rb +554 -0
- data/lib/mtncloud/cli/commands/alias_command.rb +278 -0
- data/lib/mtncloud/cli/commands/appliance_settings_command.rb +382 -0
- data/lib/mtncloud/cli/commands/approvals_command.rb +236 -0
- data/lib/mtncloud/cli/commands/apps.rb +2549 -0
- data/lib/mtncloud/cli/commands/archives_command.rb +2161 -0
- data/lib/mtncloud/cli/commands/audit.rb +188 -0
- data/lib/mtncloud/cli/commands/backup_jobs_command.rb +366 -0
- data/lib/mtncloud/cli/commands/backup_restores_command.rb +144 -0
- data/lib/mtncloud/cli/commands/backup_results_command.rb +149 -0
- data/lib/mtncloud/cli/commands/backup_services_command.rb +44 -0
- data/lib/mtncloud/cli/commands/backup_settings_command.rb +184 -0
- data/lib/mtncloud/cli/commands/backup_types_command.rb +53 -0
- data/lib/mtncloud/cli/commands/backups_command.rb +674 -0
- data/lib/mtncloud/cli/commands/benchmark_command.rb +458 -0
- data/lib/mtncloud/cli/commands/blueprints_command.rb +2297 -0
- data/lib/mtncloud/cli/commands/boot_scripts_command.rb +379 -0
- data/lib/mtncloud/cli/commands/budgets_command.rb +754 -0
- data/lib/mtncloud/cli/commands/cat_command.rb +45 -0
- data/lib/mtncloud/cli/commands/catalog_item_types_command.rb +858 -0
- data/lib/mtncloud/cli/commands/certificates_command.rb +575 -0
- data/lib/mtncloud/cli/commands/change_password_command.rb +132 -0
- data/lib/mtncloud/cli/commands/clients_command.rb +331 -0
- data/lib/mtncloud/cli/commands/cloud_datastores_command.rb +543 -0
- data/lib/mtncloud/cli/commands/cloud_folders_command.rb +512 -0
- data/lib/mtncloud/cli/commands/cloud_resource_pools_command.rb +870 -0
- data/lib/mtncloud/cli/commands/clouds.rb +2037 -0
- data/lib/mtncloud/cli/commands/clouds_types.rb +140 -0
- data/lib/mtncloud/cli/commands/cluster_types.rb +179 -0
- data/lib/mtncloud/cli/commands/clusters.rb +5855 -0
- data/lib/mtncloud/cli/commands/coloring_command.rb +82 -0
- data/lib/mtncloud/cli/commands/containers_command.rb +967 -0
- data/lib/mtncloud/cli/commands/credential_types_command.rb +36 -0
- data/lib/mtncloud/cli/commands/credentials_command.rb +124 -0
- data/lib/mtncloud/cli/commands/curl_command.rb +168 -0
- data/lib/mtncloud/cli/commands/cypher_command.rb +587 -0
- data/lib/mtncloud/cli/commands/dashboard_command.rb +300 -0
- data/lib/mtncloud/cli/commands/debug_command.rb +75 -0
- data/lib/mtncloud/cli/commands/deploy.rb +485 -0
- data/lib/mtncloud/cli/commands/deployments.rb +923 -0
- data/lib/mtncloud/cli/commands/deploys.rb +485 -0
- data/lib/mtncloud/cli/commands/distributed_workers_command.rb +282 -0
- data/lib/mtncloud/cli/commands/echo_command.rb +61 -0
- data/lib/mtncloud/cli/commands/edit_profile_command.rb +57 -0
- data/lib/mtncloud/cli/commands/edit_rc_command.rb +77 -0
- data/lib/mtncloud/cli/commands/email_templates_command.rb +373 -0
- data/lib/mtncloud/cli/commands/environments_command.rb +401 -0
- data/lib/mtncloud/cli/commands/execute_schedules_command.rb +735 -0
- data/lib/mtncloud/cli/commands/execution_request_command.rb +333 -0
- data/lib/mtncloud/cli/commands/exit_command.rb +34 -0
- data/lib/mtncloud/cli/commands/file_copy_request_command.rb +352 -0
- data/lib/mtncloud/cli/commands/forgot_password.rb +133 -0
- data/lib/mtncloud/cli/commands/get_prompt_command.rb +36 -0
- data/lib/mtncloud/cli/commands/groups.rb +818 -0
- data/lib/mtncloud/cli/commands/guidance_command.rb +529 -0
- data/lib/mtncloud/cli/commands/guidance_settings.rb +148 -0
- data/lib/mtncloud/cli/commands/health_command.rb +1046 -0
- data/lib/mtncloud/cli/commands/history_command.rb +60 -0
- data/lib/mtncloud/cli/commands/host_vm_groups_command.rb +423 -0
- data/lib/mtncloud/cli/commands/hosts.rb +2986 -0
- data/lib/mtncloud/cli/commands/hub.rb +215 -0
- data/lib/mtncloud/cli/commands/image_builder_command.rb +1197 -0
- data/lib/mtncloud/cli/commands/instance_types.rb +163 -0
- data/lib/mtncloud/cli/commands/instances.rb +5813 -0
- data/lib/mtncloud/cli/commands/integrations_command.rb +1412 -0
- data/lib/mtncloud/cli/commands/invoices_command.rb +1151 -0
- data/lib/mtncloud/cli/commands/jobs_command.rb +998 -0
- data/lib/mtncloud/cli/commands/key_pairs.rb +470 -0
- data/lib/mtncloud/cli/commands/library_cluster_layouts_command.rb +901 -0
- data/lib/mtncloud/cli/commands/library_cluster_packages_command.rb +552 -0
- data/lib/mtncloud/cli/commands/library_container_scripts_command.rb +446 -0
- data/lib/mtncloud/cli/commands/library_container_templates_command.rb +526 -0
- data/lib/mtncloud/cli/commands/library_container_types_command.rb +698 -0
- data/lib/mtncloud/cli/commands/library_forms_command.rb +625 -0
- data/lib/mtncloud/cli/commands/library_instance_types_command.rb +668 -0
- data/lib/mtncloud/cli/commands/library_layouts_command.rb +849 -0
- data/lib/mtncloud/cli/commands/library_operating_systems_command.rb +671 -0
- data/lib/mtncloud/cli/commands/library_option_lists_command.rb +503 -0
- data/lib/mtncloud/cli/commands/library_option_types_command.rb +329 -0
- data/lib/mtncloud/cli/commands/library_spec_templates_command.rb +547 -0
- data/lib/mtncloud/cli/commands/library_upgrades_command.rb +596 -0
- data/lib/mtncloud/cli/commands/license.rb +475 -0
- data/lib/mtncloud/cli/commands/load_balancer_monitors.rb +70 -0
- data/lib/mtncloud/cli/commands/load_balancer_pool_nodes.rb +87 -0
- data/lib/mtncloud/cli/commands/load_balancer_pools.rb +129 -0
- data/lib/mtncloud/cli/commands/load_balancer_profiles.rb +64 -0
- data/lib/mtncloud/cli/commands/load_balancer_types.rb +38 -0
- data/lib/mtncloud/cli/commands/load_balancer_virtual_servers.rb +147 -0
- data/lib/mtncloud/cli/commands/load_balancers.rb +189 -0
- data/lib/mtncloud/cli/commands/log_level_command.rb +54 -0
- data/lib/mtncloud/cli/commands/log_settings_command.rb +443 -0
- data/lib/mtncloud/cli/commands/login.rb +148 -0
- data/lib/mtncloud/cli/commands/logout.rb +63 -0
- data/lib/mtncloud/cli/commands/logs_command.rb +140 -0
- data/lib/mtncloud/cli/commands/man_command.rb +409 -0
- data/lib/mtncloud/cli/commands/migrations.rb +453 -0
- data/lib/mtncloud/cli/commands/monitoring_alerts_command.rb +791 -0
- data/lib/mtncloud/cli/commands/monitoring_apps_command.rb +716 -0
- data/lib/mtncloud/cli/commands/monitoring_checks_command.rb +766 -0
- data/lib/mtncloud/cli/commands/monitoring_contacts_command.rb +339 -0
- data/lib/mtncloud/cli/commands/monitoring_groups_command.rb +674 -0
- data/lib/mtncloud/cli/commands/monitoring_incidents_command.rb +835 -0
- data/lib/mtncloud/cli/commands/monitoring_settings.rb +212 -0
- data/lib/mtncloud/cli/commands/network_dhcp_relays_command.rb +375 -0
- data/lib/mtncloud/cli/commands/network_dhcp_servers_command.rb +366 -0
- data/lib/mtncloud/cli/commands/network_domains_command.rb +896 -0
- data/lib/mtncloud/cli/commands/network_edge_clusters_command.rb +288 -0
- data/lib/mtncloud/cli/commands/network_firewalls_command.rb +783 -0
- data/lib/mtncloud/cli/commands/network_floating_ips.rb +147 -0
- data/lib/mtncloud/cli/commands/network_groups_command.rb +654 -0
- data/lib/mtncloud/cli/commands/network_pool_server_types.rb +20 -0
- data/lib/mtncloud/cli/commands/network_pool_servers_command.rb +318 -0
- data/lib/mtncloud/cli/commands/network_pools_command.rb +903 -0
- data/lib/mtncloud/cli/commands/network_proxies_command.rb +578 -0
- data/lib/mtncloud/cli/commands/network_routers_command.rb +2628 -0
- data/lib/mtncloud/cli/commands/network_security_server_types.rb +20 -0
- data/lib/mtncloud/cli/commands/network_server_groups_command.rb +222 -0
- data/lib/mtncloud/cli/commands/network_server_types_command.rb +20 -0
- data/lib/mtncloud/cli/commands/network_servers_command.rb +398 -0
- data/lib/mtncloud/cli/commands/network_services_command.rb +198 -0
- data/lib/mtncloud/cli/commands/network_static_routes_command.rb +451 -0
- data/lib/mtncloud/cli/commands/network_transport_zones_command.rb +412 -0
- data/lib/mtncloud/cli/commands/networks_command.rb +1692 -0
- data/lib/mtncloud/cli/commands/open_command.rb +30 -0
- data/lib/mtncloud/cli/commands/options.rb +231 -0
- data/lib/mtncloud/cli/commands/packages_command.rb +822 -0
- data/lib/mtncloud/cli/commands/ping.rb +242 -0
- data/lib/mtncloud/cli/commands/plugins.rb +214 -0
- data/lib/mtncloud/cli/commands/policies_command.rb +990 -0
- data/lib/mtncloud/cli/commands/power_schedules_command.rb +731 -0
- data/lib/mtncloud/cli/commands/preseed_scripts_command.rb +378 -0
- data/lib/mtncloud/cli/commands/price_sets_command.rb +557 -0
- data/lib/mtncloud/cli/commands/prices_command.rb +692 -0
- data/lib/mtncloud/cli/commands/processes_command.rb +469 -0
- data/lib/mtncloud/cli/commands/projects_command.rb +537 -0
- data/lib/mtncloud/cli/commands/provisioning_licenses_command.rb +509 -0
- data/lib/mtncloud/cli/commands/provisioning_settings_command.rb +238 -0
- data/lib/mtncloud/cli/commands/recent_activity_command.rb +171 -0
- data/lib/mtncloud/cli/commands/remote.rb +1818 -0
- data/lib/mtncloud/cli/commands/reports_command.rb +724 -0
- data/lib/mtncloud/cli/commands/resource_pool_groups_command.rb +586 -0
- data/lib/mtncloud/cli/commands/rm_command.rb +14 -0
- data/lib/mtncloud/cli/commands/roles.rb +3120 -0
- data/lib/mtncloud/cli/commands/scale_thresholds.rb +103 -0
- data/lib/mtncloud/cli/commands/search_command.rb +184 -0
- data/lib/mtncloud/cli/commands/security_group_rules.rb +230 -0
- data/lib/mtncloud/cli/commands/security_groups.rb +1294 -0
- data/lib/mtncloud/cli/commands/security_package_types.rb +32 -0
- data/lib/mtncloud/cli/commands/security_packages.rb +84 -0
- data/lib/mtncloud/cli/commands/security_scans.rb +107 -0
- data/lib/mtncloud/cli/commands/self_service_command.rb +17 -0
- data/lib/mtncloud/cli/commands/server_devices_command.rb +207 -0
- data/lib/mtncloud/cli/commands/service_catalog_command.rb +1528 -0
- data/lib/mtncloud/cli/commands/service_plans_command.rb +895 -0
- data/lib/mtncloud/cli/commands/set_prompt_command.rb +51 -0
- data/lib/mtncloud/cli/commands/setup.rb +423 -0
- data/lib/mtncloud/cli/commands/shell.rb +717 -0
- data/lib/mtncloud/cli/commands/sleep_command.rb +43 -0
- data/lib/mtncloud/cli/commands/snapshots.rb +156 -0
- data/lib/mtncloud/cli/commands/source_command.rb +30 -0
- data/lib/mtncloud/cli/commands/ssl_verification_command.rb +47 -0
- data/lib/mtncloud/cli/commands/storage_datastores.rb +457 -0
- data/lib/mtncloud/cli/commands/storage_providers_command.rb +1401 -0
- data/lib/mtncloud/cli/commands/storage_server_types.rb +45 -0
- data/lib/mtncloud/cli/commands/storage_servers.rb +116 -0
- data/lib/mtncloud/cli/commands/storage_volume_types.rb +45 -0
- data/lib/mtncloud/cli/commands/storage_volumes.rb +236 -0
- data/lib/mtncloud/cli/commands/subnets_command.rb +819 -0
- data/lib/mtncloud/cli/commands/support_bundles_command.rb +606 -0
- data/lib/mtncloud/cli/commands/systems.rb +1203 -0
- data/lib/mtncloud/cli/commands/tasks.rb +1391 -0
- data/lib/mtncloud/cli/commands/tee_command.rb +14 -0
- data/lib/mtncloud/cli/commands/tenants_command.rb +315 -0
- data/lib/mtncloud/cli/commands/tokens_command.rb +391 -0
- data/lib/mtncloud/cli/commands/update_command.rb +46 -0
- data/lib/mtncloud/cli/commands/usage_command.rb +203 -0
- data/lib/mtncloud/cli/commands/user_groups_command.rb +512 -0
- data/lib/mtncloud/cli/commands/user_settings_command.rb +849 -0
- data/lib/mtncloud/cli/commands/user_sources_command.rb +1065 -0
- data/lib/mtncloud/cli/commands/users.rb +897 -0
- data/lib/mtncloud/cli/commands/vdi_allocations_command.rb +159 -0
- data/lib/mtncloud/cli/commands/vdi_apps_command.rb +317 -0
- data/lib/mtncloud/cli/commands/vdi_command.rb +359 -0
- data/lib/mtncloud/cli/commands/vdi_gateways_command.rb +290 -0
- data/lib/mtncloud/cli/commands/vdi_pools_command.rb +574 -0
- data/lib/mtncloud/cli/commands/version_command.rb +38 -0
- data/lib/mtncloud/cli/commands/view.rb +107 -0
- data/lib/mtncloud/cli/commands/virtual_images.rb +1362 -0
- data/lib/mtncloud/cli/commands/virtual_switches_command.rb +336 -0
- data/lib/mtncloud/cli/commands/whitelabel_settings_command.rb +653 -0
- data/lib/mtncloud/cli/commands/whoami.rb +323 -0
- data/lib/mtncloud/cli/commands/wiki_command.rb +448 -0
- data/lib/mtncloud/cli/commands/workflows.rb +1022 -0
- data/lib/mtncloud/cli/credentials.rb +482 -0
- data/lib/mtncloud/cli/dot_file.rb +180 -0
- data/lib/mtncloud/cli/error_handler.rb +307 -0
- data/lib/mtncloud/cli/errors.rb +53 -0
- data/lib/mtncloud/cli/expression_parser.rb +153 -0
- data/lib/mtncloud/cli/mixins/accounts_helper.rb +484 -0
- data/lib/mtncloud/cli/mixins/affinity_helper.rb +118 -0
- data/lib/mtncloud/cli/mixins/backups_helper.rb +200 -0
- data/lib/mtncloud/cli/mixins/deployments_helper.rb +163 -0
- data/lib/mtncloud/cli/mixins/execution_request_helper.rb +50 -0
- data/lib/mtncloud/cli/mixins/infrastructure_helper.rb +966 -0
- data/lib/mtncloud/cli/mixins/jobs_helper.rb +202 -0
- data/lib/mtncloud/cli/mixins/library_helper.rb +539 -0
- data/lib/mtncloud/cli/mixins/load_balancers_helper.rb +176 -0
- data/lib/mtncloud/cli/mixins/logs_helper.rb +131 -0
- data/lib/mtncloud/cli/mixins/monitoring_helper.rb +876 -0
- data/lib/mtncloud/cli/mixins/networks_helper.rb +62 -0
- data/lib/mtncloud/cli/mixins/operations_helper.rb +41 -0
- data/lib/mtncloud/cli/mixins/option_source_helper.rb +254 -0
- data/lib/mtncloud/cli/mixins/print_helper.rb +1631 -0
- data/lib/mtncloud/cli/mixins/processes_helper.rb +286 -0
- data/lib/mtncloud/cli/mixins/prompt_helper.rb +136 -0
- data/lib/mtncloud/cli/mixins/provisioning_helper.rb +2963 -0
- data/lib/mtncloud/cli/mixins/remote_helper.rb +139 -0
- data/lib/mtncloud/cli/mixins/rest_command.rb +994 -0
- data/lib/mtncloud/cli/mixins/secondary_rest_command.rb +700 -0
- data/lib/mtncloud/cli/mixins/storage_servers_helper.rb +93 -0
- data/lib/mtncloud/cli/mixins/storage_volumes_helper.rb +76 -0
- data/lib/mtncloud/cli/mixins/vdi_helper.rb +246 -0
- data/lib/mtncloud/cli/mixins/whoami_helper.rb +73 -0
- data/lib/mtncloud/cli/option_parser.rb +127 -0
- data/lib/mtncloud/cli/option_types.rb +1622 -0
- data/lib/mtncloud/cli/version.rb +6 -0
- data/lib/mtncloud/cli.rb +105 -0
- data/lib/mtncloud/currency.rb +184 -0
- data/lib/mtncloud/ext/hash.rb +109 -0
- data/lib/mtncloud/ext/nil_class.rb +5 -0
- data/lib/mtncloud/ext/rest_client.rb +37 -0
- data/lib/mtncloud/ext/string.rb +66 -0
- data/lib/mtncloud/formatters.rb +511 -0
- data/lib/mtncloud/logging.rb +185 -0
- data/lib/mtncloud/morpkg.rb +119 -0
- data/lib/mtncloud/rest_client.rb +104 -0
- data/lib/mtncloud/routes.rb +304 -0
- data/lib/mtncloud/terminal.rb +528 -0
- data/lib/mtncloud/util.rb +29 -0
- data/lib/mtncloud.rb +5 -0
- data/mtncloud-cli.gemspec +38 -0
- data/test/api/affinity_groups_interface_test.rb +43 -0
- data/test/api/clients_interface_test.rb +23 -0
- data/test/api/clouds_interface_test.rb +67 -0
- data/test/api/containers_interface_test.rb +68 -0
- data/test/api/host_vm_groups_interface_test.rb +35 -0
- data/test/api/instances_interface_test.rb +22 -0
- data/test/api/network_routers_interface_test.rb +22 -0
- data/test/api/systems_interface_test.rb +26 -0
- data/test/api/whoami_interface_test.rb +14 -0
- data/test/branding_test.rb +160 -0
- data/test/cli/access_token_test.rb +36 -0
- data/test/cli/affinity_groups_cloud_cluster_scope_test.rb +270 -0
- data/test/cli/affinity_groups_cluster_scope_test.rb +171 -0
- data/test/cli/affinity_groups_test.rb +57 -0
- data/test/cli/affinity_groups_violations_scope_test.rb +141 -0
- data/test/cli/affinity_helper_test.rb +367 -0
- data/test/cli/auth_test.rb +88 -0
- data/test/cli/backups_test.rb +212 -0
- data/test/cli/cli_test.rb +48 -0
- data/test/cli/clients_test.rb +45 -0
- data/test/cli/clusters_uuid_test.rb +146 -0
- data/test/cli/containers_test.rb +92 -0
- data/test/cli/distributed_workers_test.rb +68 -0
- data/test/cli/help_test.rb +25 -0
- data/test/cli/host_vm_groups_cluster_scope_test.rb +187 -0
- data/test/cli/host_vm_groups_test.rb +63 -0
- data/test/cli/infrastructure_helper_cluster_resolver_test.rb +250 -0
- data/test/cli/instances_test.rb +37 -0
- data/test/cli/man_test.rb +14 -0
- data/test/cli/migrations_test.rb +39 -0
- data/test/cli/network_routers_test.rb +65 -0
- data/test/cli/remote_test.rb +89 -0
- data/test/cli/roles_test.rb +47 -0
- data/test/cli/shell_test.rb +81 -0
- data/test/cli/storage_volumes_test.rb +79 -0
- data/test/cli/systems_test.rb +206 -0
- data/test/cli/version_test.rb +23 -0
- data/test/cli/view_test.rb +55 -0
- data/test/cli/whoami_test.rb +17 -0
- data/test/mtncloud_test.rb +16 -0
- data/test/test_case.rb +342 -0
- data/test/test_config.rb +137 -0
- data/test/test_data_helper.rb +97 -0
- metadata +807 -0
|
@@ -0,0 +1,1091 @@
|
|
|
1
|
+
require 'json'
|
|
2
|
+
require 'uri'
|
|
3
|
+
require 'cgi'
|
|
4
|
+
require 'mtncloud/rest_client'
|
|
5
|
+
#require 'mtncloud/api/body_io'
|
|
6
|
+
# require 'rest-client'
|
|
7
|
+
|
|
8
|
+
class MtnCloud::APIClient
|
|
9
|
+
|
|
10
|
+
# This is the OAuth client ID the appliance accepts for CLI logins.
|
|
11
|
+
# It is not branding, do not rename it for MTN Cloud or authentication will break.
|
|
12
|
+
CLIENT_ID = 'morph-cli' unless defined?(CLIENT_ID)
|
|
13
|
+
|
|
14
|
+
# Initialize a new APIClient
|
|
15
|
+
# client = APIClient.new(url:"https://mtncloud.example.com", verify_ssl:false)
|
|
16
|
+
# This old method signature is being deprecated:
|
|
17
|
+
# client = APIClient.new(access_token, refresh_token, expires_in, base_url, verify_ssl, options={})
|
|
18
|
+
#
|
|
19
|
+
# def initialize(attrs={}, options={})
|
|
20
|
+
def initialize(access_token, refresh_token=nil,expires_in = nil, base_url=nil, verify_ssl=true, options={})
|
|
21
|
+
self.client_id = CLIENT_ID
|
|
22
|
+
attrs = {}
|
|
23
|
+
if access_token.is_a?(Hash)
|
|
24
|
+
attrs = access_token.clone()
|
|
25
|
+
access_token = attrs[:access_token]
|
|
26
|
+
refresh_token = attrs[:refresh_token]
|
|
27
|
+
base_url = attrs[:url] || attrs[:base_url]
|
|
28
|
+
expires_in = attrs[:expires_in]
|
|
29
|
+
verify_ssl = attrs.key?(:verify_ssl) ? attrs[:verify_ssl] : true
|
|
30
|
+
self.client_id = attrs[:client_id] ? attrs[:client_id] : CLIENT_ID
|
|
31
|
+
if attrs[:client_id]
|
|
32
|
+
self.client_id = attrs[:client_id]
|
|
33
|
+
end
|
|
34
|
+
options = refresh_token.is_a?(Hash) ? refresh_token.clone() : {}
|
|
35
|
+
end
|
|
36
|
+
@access_token = access_token
|
|
37
|
+
@refresh_token = refresh_token
|
|
38
|
+
@base_url = base_url
|
|
39
|
+
if @base_url.to_s.empty?
|
|
40
|
+
raise "#{self.class} initialized without a required option :url"
|
|
41
|
+
end
|
|
42
|
+
@base_url = @base_url.chomp("/")
|
|
43
|
+
# todo: validate URI
|
|
44
|
+
@expires_at = nil
|
|
45
|
+
if expires_in != nil
|
|
46
|
+
@expires_at = Time.now + expires_in
|
|
47
|
+
end
|
|
48
|
+
@dry_run = false
|
|
49
|
+
set_ssl_verification_enabled(verify_ssl)
|
|
50
|
+
setopts(options)
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def url
|
|
54
|
+
@base_url
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def to_s
|
|
58
|
+
"<##{self.class}:#{self.object_id.to_s(8)} @url=#{@base_url} @verify_ssl=#{@verify_ssl} @access_token=#{@access_token ? '************' : nil} @refresh_token=#{@access_token ? '************' : nil} @expires_at=#{@expires_at} @client_id=#{@client_id} @options=#{@options}>"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def inspect
|
|
62
|
+
to_s
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def dry_run(val=true)
|
|
66
|
+
@dry_run = !!val
|
|
67
|
+
self
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def dry()
|
|
71
|
+
dry_run(true)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
def ssl_verification_enabled?
|
|
75
|
+
@verify_ssl
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def set_ssl_verification_enabled(val)
|
|
79
|
+
@verify_ssl = !!val
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# set this in your interface, eg. to 'application/json'
|
|
83
|
+
# or let it it default to json when payload is present.
|
|
84
|
+
def default_content_type
|
|
85
|
+
nil
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# set default seconds for interface to timeout after
|
|
89
|
+
# or let it use system default? none, it should not timeout by default..
|
|
90
|
+
# I think execute() may use 30 seconds for get by default.
|
|
91
|
+
# and it should remove timeout when method is post, put, or delete
|
|
92
|
+
def default_timeout
|
|
93
|
+
nil
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
# Authorization is required, except for a couple commands like Ping and Setup
|
|
97
|
+
def authorization_required?
|
|
98
|
+
true
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# common global options, hooray.
|
|
102
|
+
# this is probably needed for CliCommand too..
|
|
103
|
+
# maybe make this a mixin...
|
|
104
|
+
|
|
105
|
+
# need this accessor?
|
|
106
|
+
# def get_options
|
|
107
|
+
# @options
|
|
108
|
+
# end
|
|
109
|
+
|
|
110
|
+
# set common global @options for use with all requests
|
|
111
|
+
# meant for inline use just like dry(), set_options(dry_run:true) can be used in place of dry()
|
|
112
|
+
# @param opts [Hash] globally supported options like :dry_run, :json, :curl, :headers, :timeout, etc
|
|
113
|
+
# Example:
|
|
114
|
+
# Prints curl -XGET .../whoami -H "Bearer" instead of actually request
|
|
115
|
+
# APIClient.new(token).whoami.setopts(curl:true).get({})
|
|
116
|
+
# @return self (APIClient)
|
|
117
|
+
def setopts(new_options)
|
|
118
|
+
@options = new_options
|
|
119
|
+
if @options[:dry_run]
|
|
120
|
+
dry_run(true)
|
|
121
|
+
end
|
|
122
|
+
self
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# with_options sets common global @options for the duration of the block only
|
|
126
|
+
# then returns the options to their prior values
|
|
127
|
+
# @param opts [Hash] globally supported options like :dry_run, :json, :curl, :headers, :timeout, etc
|
|
128
|
+
# @return result of block, usually the a result Hash from client.execute({})
|
|
129
|
+
def withopts(tmp_options, &block)
|
|
130
|
+
@_old_options = @options
|
|
131
|
+
begin
|
|
132
|
+
@options = tmp_options
|
|
133
|
+
result = block.call()
|
|
134
|
+
ensure
|
|
135
|
+
@options = @_old_options
|
|
136
|
+
end
|
|
137
|
+
return result
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
alias :set_options :setopts
|
|
141
|
+
alias :with_options :withopts
|
|
142
|
+
# Execute an HTTP request with this client.
|
|
143
|
+
# opts - Hash of options for HTTP Request.
|
|
144
|
+
# :url - The full url
|
|
145
|
+
# :method - The default method is :get (GET)
|
|
146
|
+
# :headers - Hash of headers to include in the request.
|
|
147
|
+
# eg. {'Content-Type' => 'application/json'}. :params is a special key for query parameters.
|
|
148
|
+
# :params - query parameters
|
|
149
|
+
# :payload - The body of the request.
|
|
150
|
+
# :timeout - A custom timeout in seconds for api requests. The default is 30. todo: separate timeout options
|
|
151
|
+
# options - Hash of common global options that commands parse. eg. :headers, :timeout, :dry_run, :curl, etc
|
|
152
|
+
# :headers - Extra headers to add. This expects a Hash like {'Content-Type' => 'application/json'}.
|
|
153
|
+
# :timeout - A custom timeout in seconds for api requests. The default is 30. todo: separate timeout options
|
|
154
|
+
def execute(opts, options={})
|
|
155
|
+
# MtnCloud::Logging::DarkPrinter.puts "MtnCloud::RestClient.execute(#{opts})" if MtnCloud::Logging.debug?
|
|
156
|
+
# ok, always prepend @base_url, let the caller specify it exactly or leave it off.
|
|
157
|
+
# this allows the Interface definition be lazy and not specify the base_url in every call to execute()
|
|
158
|
+
# it will be used though...
|
|
159
|
+
if opts[:url]
|
|
160
|
+
if !opts[:url].include?(@base_url)
|
|
161
|
+
opts[:url] = "#{@base_url}#{opts[:url]}"
|
|
162
|
+
end
|
|
163
|
+
end
|
|
164
|
+
# merge in common global @options
|
|
165
|
+
if @options
|
|
166
|
+
options = options.merge(@options)
|
|
167
|
+
else
|
|
168
|
+
options = options.clone
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# determine HTTP method
|
|
172
|
+
if opts[:method].nil?
|
|
173
|
+
opts[:method] = :get
|
|
174
|
+
else
|
|
175
|
+
# convert to lowercase Symbol like :get, :post, :put, or :delete
|
|
176
|
+
opts[:method] = opts[:method].to_s.downcase.to_sym
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
# could validate method here...
|
|
180
|
+
|
|
181
|
+
# apply default headers
|
|
182
|
+
opts[:headers] ||= {}
|
|
183
|
+
|
|
184
|
+
is_multipart = (opts[:payload].is_a?(Hash) && opts[:payload][:multipart] == true)
|
|
185
|
+
|
|
186
|
+
# Authorization: apply our access token
|
|
187
|
+
if authorization_required?
|
|
188
|
+
if @access_token
|
|
189
|
+
if opts[:headers][:authorization].nil? && opts[:headers]['Authorization'].nil?
|
|
190
|
+
opts[:headers][:authorization] = "Bearer #{@access_token}"
|
|
191
|
+
else
|
|
192
|
+
# authorization header has already been set.
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
# POST and PUT requests default Content-Type is application/json
|
|
198
|
+
# set Content-Type or pass :form_data => true if you want application/x-www-form-urlencoded
|
|
199
|
+
# or use opts[:payload][:multipart] = true if you need multipart/form-data
|
|
200
|
+
if opts[:method] == :post || opts[:method] == :put
|
|
201
|
+
if opts[:headers]['Content-Type'].nil? && opts[:payload] && is_multipart != true && opts[:form_data] != true
|
|
202
|
+
opts[:headers]['Content-Type'] = (default_content_type || 'application/json')
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
# Auto encode payload as JSON, just to be nice
|
|
206
|
+
if opts[:headers]['Content-Type'] == 'application/json' && !opts[:payload].is_a?(String)
|
|
207
|
+
opts[:payload] = opts[:payload].to_json
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
end
|
|
211
|
+
|
|
212
|
+
# always use custom timeout eg. from --timeout option
|
|
213
|
+
# or use default_timeout for GET requests only.
|
|
214
|
+
if opts[:timeout].nil?
|
|
215
|
+
if options[:timeout]
|
|
216
|
+
opts[:timeout] = options[:timeout].to_f
|
|
217
|
+
elsif default_timeout && opts[:method] == :get
|
|
218
|
+
opts[:timeout] = default_timeout.to_f
|
|
219
|
+
end
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# add extra headers, eg. from --header option
|
|
223
|
+
# headers should be a Hash and not an Array, dont make me split you here!
|
|
224
|
+
if options[:headers]
|
|
225
|
+
opts[:headers] = opts[:headers].merge(options[:headers])
|
|
226
|
+
end
|
|
227
|
+
|
|
228
|
+
# this is confusing, but RestClient expects :params inside the headers...?
|
|
229
|
+
# move/copy params to headers.params for simplification.
|
|
230
|
+
# remove this if issues arise
|
|
231
|
+
# if opts[:params] && (opts[:headers][:params].nil? || opts[:headers][:params].empty?)
|
|
232
|
+
# opts[:headers][:params] = opts.delete(:params) # .delete(:params) maybe?
|
|
233
|
+
# end
|
|
234
|
+
|
|
235
|
+
# :command_options for these
|
|
236
|
+
# if options[:curl]
|
|
237
|
+
# opts[:curl] = options[:curl]
|
|
238
|
+
# end
|
|
239
|
+
# if options.key?(:pretty_json)
|
|
240
|
+
# opts[:pretty_json] = options[:pretty_json]
|
|
241
|
+
# end
|
|
242
|
+
# if options.key?(:scrub)
|
|
243
|
+
# opts[:scrub] = options[:scrub]
|
|
244
|
+
# end
|
|
245
|
+
|
|
246
|
+
# @verify_ssl is not used atm
|
|
247
|
+
# todo: finish this and use it instead of the global variable RestClient.ssl_verification_enabled?
|
|
248
|
+
# gotta clean up all APIClient subclasses new() methods to support this
|
|
249
|
+
# the CliCommand subclasses should be changed to @foos_interface = @api_client.foos
|
|
250
|
+
# also.. Credentials.new()
|
|
251
|
+
if @verify_ssl == false
|
|
252
|
+
opts[:verify_ssl] = OpenSSL::SSL::VERIFY_NONE
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
if @dry_run
|
|
256
|
+
# JD: could return a Request object instead...
|
|
257
|
+
# print_dry_run needs options somehow...
|
|
258
|
+
opts[:command_options] = options # trash this..we got @options with setopts now
|
|
259
|
+
return opts
|
|
260
|
+
end
|
|
261
|
+
|
|
262
|
+
# uhh can't use LIST at the moment
|
|
263
|
+
# fix it!
|
|
264
|
+
# if opts[:method] == :list
|
|
265
|
+
# opts[:method]
|
|
266
|
+
# end
|
|
267
|
+
|
|
268
|
+
# MtnCloud::Logging::DarkPrinter.puts "MtnCloud::RestClient.execute(#{opts})" if MtnCloud::Logging.debug?
|
|
269
|
+
# instead, using ::RestClient.log = STDOUT
|
|
270
|
+
response = MtnCloud::RestClient.execute(opts)
|
|
271
|
+
if opts[:parse_json] != false && options[:parse_json] != false
|
|
272
|
+
return JSON.parse(response.to_s)
|
|
273
|
+
else
|
|
274
|
+
return response
|
|
275
|
+
end
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
def logged_in?
|
|
279
|
+
!!@access_token
|
|
280
|
+
end
|
|
281
|
+
|
|
282
|
+
def client_id
|
|
283
|
+
@client_id
|
|
284
|
+
end
|
|
285
|
+
|
|
286
|
+
def client_id=(val)
|
|
287
|
+
@client_id = val
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
def login(username, password, use_client_id=nil)
|
|
291
|
+
if use_client_id
|
|
292
|
+
self.client_id = use_client_id
|
|
293
|
+
end
|
|
294
|
+
@access_token, @refresh_token, @expires_at = nil, nil, nil
|
|
295
|
+
response = auth.login(username, password, self.client_id)
|
|
296
|
+
@access_token = response['access_token']
|
|
297
|
+
@refresh_token = response['refresh_token']
|
|
298
|
+
if response['expires_in'] != nil
|
|
299
|
+
@expires_at = Time.now + response['expires_in']
|
|
300
|
+
end
|
|
301
|
+
# return response
|
|
302
|
+
return self
|
|
303
|
+
end
|
|
304
|
+
|
|
305
|
+
def use_refresh_token(t=nil)
|
|
306
|
+
if t.nil?
|
|
307
|
+
t = @refresh_token
|
|
308
|
+
end
|
|
309
|
+
if t.nil?
|
|
310
|
+
raise "#{self.class} does not currently have a refresh_token"
|
|
311
|
+
end
|
|
312
|
+
response = auth.use_refresh_token(t, self.client_id)
|
|
313
|
+
@access_token = response['access_token']
|
|
314
|
+
@refresh_token = response['refresh_token']
|
|
315
|
+
if response['expires_in'] != nil
|
|
316
|
+
@expires_at = Time.now + response['expires_in']
|
|
317
|
+
end
|
|
318
|
+
@access_token = response['access_token']
|
|
319
|
+
# return response
|
|
320
|
+
return self
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
def logout
|
|
324
|
+
@access_token = nil
|
|
325
|
+
@refresh_token = nil
|
|
326
|
+
@expires_at = nil
|
|
327
|
+
return self
|
|
328
|
+
end
|
|
329
|
+
|
|
330
|
+
def common_interface_options
|
|
331
|
+
{
|
|
332
|
+
url: @base_url,
|
|
333
|
+
access_token: @access_token,
|
|
334
|
+
refresh_token: @refresh_token,
|
|
335
|
+
expires_at: @expires_at,
|
|
336
|
+
client_id: @client_id,
|
|
337
|
+
verify_ssl: @verify_ssl
|
|
338
|
+
}
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
def ping
|
|
342
|
+
MtnCloud::PingInterface.new(common_interface_options).setopts(@options)
|
|
343
|
+
end
|
|
344
|
+
|
|
345
|
+
def setup
|
|
346
|
+
MtnCloud::SetupInterface.new(common_interface_options).setopts(@options)
|
|
347
|
+
end
|
|
348
|
+
|
|
349
|
+
def auth
|
|
350
|
+
MtnCloud::AuthInterface.new({url: @base_url, client_id: @client_id, verify_ssl: @verify_ssl}).setopts(@options)
|
|
351
|
+
end
|
|
352
|
+
|
|
353
|
+
def forgot
|
|
354
|
+
MtnCloud::ForgotPasswordInterface.new(common_interface_options).setopts(@options)
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
def whoami
|
|
358
|
+
MtnCloud::WhoamiInterface.new(common_interface_options).setopts(@options)
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
def search
|
|
362
|
+
MtnCloud::SearchInterface.new(common_interface_options).setopts(@options)
|
|
363
|
+
end
|
|
364
|
+
|
|
365
|
+
def user_settings
|
|
366
|
+
MtnCloud::UserSettingsInterface.new(common_interface_options).setopts(@options)
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
def dashboard
|
|
370
|
+
MtnCloud::DashboardInterface.new(common_interface_options).setopts(@options)
|
|
371
|
+
end
|
|
372
|
+
|
|
373
|
+
def activity
|
|
374
|
+
MtnCloud::ActivityInterface.new(common_interface_options).setopts(@options)
|
|
375
|
+
end
|
|
376
|
+
|
|
377
|
+
def options
|
|
378
|
+
MtnCloud::OptionsInterface.new(common_interface_options).setopts(@options)
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
def groups
|
|
382
|
+
MtnCloud::GroupsInterface.new(common_interface_options).setopts(@options)
|
|
383
|
+
end
|
|
384
|
+
|
|
385
|
+
def account_groups
|
|
386
|
+
MtnCloud::AccountGroupsInterface.new(common_interface_options).setopts(@options)
|
|
387
|
+
end
|
|
388
|
+
|
|
389
|
+
def clouds
|
|
390
|
+
MtnCloud::CloudsInterface.new(common_interface_options).setopts(@options)
|
|
391
|
+
end
|
|
392
|
+
|
|
393
|
+
def cloud_datastores
|
|
394
|
+
MtnCloud::CloudDatastoresInterface.new(common_interface_options).setopts(@options)
|
|
395
|
+
end
|
|
396
|
+
|
|
397
|
+
def cloud_resource_pools
|
|
398
|
+
MtnCloud::CloudResourcePoolsInterface.new(common_interface_options).setopts(@options)
|
|
399
|
+
end
|
|
400
|
+
|
|
401
|
+
def resource_pool_groups
|
|
402
|
+
MtnCloud::ResourcePoolGroupsInterface.new(common_interface_options).setopts(@options)
|
|
403
|
+
end
|
|
404
|
+
|
|
405
|
+
def cloud_folders
|
|
406
|
+
MtnCloud::CloudFoldersInterface.new(common_interface_options).setopts(@options)
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
def datastores
|
|
410
|
+
MtnCloud::DatastoresInterface.new(common_interface_options).setopts(@options)
|
|
411
|
+
end
|
|
412
|
+
|
|
413
|
+
def servers
|
|
414
|
+
MtnCloud::ServersInterface.new(common_interface_options).setopts(@options)
|
|
415
|
+
end
|
|
416
|
+
|
|
417
|
+
def systems
|
|
418
|
+
MtnCloud::SystemsInterface.new(common_interface_options).setopts(@options)
|
|
419
|
+
end
|
|
420
|
+
|
|
421
|
+
def system_types
|
|
422
|
+
MtnCloud::SystemTypesInterface.new(common_interface_options).setopts(@options)
|
|
423
|
+
end
|
|
424
|
+
|
|
425
|
+
def server_devices
|
|
426
|
+
MtnCloud::ServerDevicesInterface.new(common_interface_options).setopts(@options)
|
|
427
|
+
end
|
|
428
|
+
|
|
429
|
+
def instances
|
|
430
|
+
MtnCloud::InstancesInterface.new(common_interface_options).setopts(@options)
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
def appliance_settings
|
|
434
|
+
MtnCloud::ApplianceSettingsInterface.new(common_interface_options).setopts(@options)
|
|
435
|
+
end
|
|
436
|
+
|
|
437
|
+
def provisioning_settings
|
|
438
|
+
MtnCloud::ProvisioningSettingsInterface.new(common_interface_options).setopts(@options)
|
|
439
|
+
end
|
|
440
|
+
|
|
441
|
+
def provisioning_licenses
|
|
442
|
+
MtnCloud::ProvisioningLicensesInterface.new(common_interface_options).setopts(@options)
|
|
443
|
+
end
|
|
444
|
+
|
|
445
|
+
def provisioning_license_types
|
|
446
|
+
MtnCloud::ProvisioningLicenseTypesInterface.new(common_interface_options).setopts(@options)
|
|
447
|
+
end
|
|
448
|
+
|
|
449
|
+
def containers
|
|
450
|
+
MtnCloud::ContainersInterface.new(common_interface_options).setopts(@options)
|
|
451
|
+
end
|
|
452
|
+
|
|
453
|
+
def instance_types
|
|
454
|
+
MtnCloud::InstanceTypesInterface.new(common_interface_options).setopts(@options)
|
|
455
|
+
end
|
|
456
|
+
|
|
457
|
+
def integrations
|
|
458
|
+
MtnCloud::IntegrationsInterface.new(common_interface_options).setopts(@options)
|
|
459
|
+
end
|
|
460
|
+
|
|
461
|
+
def integration_types
|
|
462
|
+
MtnCloud::IntegrationTypesInterface.new(common_interface_options).setopts(@options)
|
|
463
|
+
end
|
|
464
|
+
|
|
465
|
+
def jobs
|
|
466
|
+
MtnCloud::JobsInterface.new(common_interface_options).setopts(@options)
|
|
467
|
+
end
|
|
468
|
+
|
|
469
|
+
def server_types
|
|
470
|
+
MtnCloud::ServerTypesInterface.new(common_interface_options).setopts(@options)
|
|
471
|
+
end
|
|
472
|
+
|
|
473
|
+
def provision_types
|
|
474
|
+
MtnCloud::ProvisionTypesInterface.new(common_interface_options).setopts(@options)
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
def service_plans
|
|
478
|
+
MtnCloud::ServicePlansInterface.new(common_interface_options).setopts(@options)
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
def price_sets
|
|
482
|
+
MtnCloud::PriceSetsInterface.new(common_interface_options).setopts(@options)
|
|
483
|
+
end
|
|
484
|
+
|
|
485
|
+
def prices
|
|
486
|
+
MtnCloud::PricesInterface.new(common_interface_options).setopts(@options)
|
|
487
|
+
end
|
|
488
|
+
|
|
489
|
+
def load_balancers
|
|
490
|
+
MtnCloud::LoadBalancersInterface.new(common_interface_options).setopts(@options)
|
|
491
|
+
end
|
|
492
|
+
|
|
493
|
+
def load_balancer_types
|
|
494
|
+
MtnCloud::LoadBalancerTypesInterface.new(common_interface_options).setopts(@options)
|
|
495
|
+
end
|
|
496
|
+
|
|
497
|
+
def load_balancer_virtual_servers
|
|
498
|
+
MtnCloud::LoadBalancerVirtualServersInterface.new(common_interface_options).setopts(@options)
|
|
499
|
+
end
|
|
500
|
+
|
|
501
|
+
def load_balancer_pools
|
|
502
|
+
MtnCloud::LoadBalancerPoolsInterface.new(common_interface_options).setopts(@options)
|
|
503
|
+
end
|
|
504
|
+
|
|
505
|
+
def load_balancer_pools_secondary
|
|
506
|
+
MtnCloud::LoadBalancerPoolsSecondaryInterface.new(common_interface_options).setopts(@options)
|
|
507
|
+
end
|
|
508
|
+
|
|
509
|
+
def load_balancer_profiles
|
|
510
|
+
MtnCloud::LoadBalancerProfilesInterface.new(common_interface_options).setopts(@options)
|
|
511
|
+
end
|
|
512
|
+
|
|
513
|
+
def load_balancer_monitors
|
|
514
|
+
MtnCloud::LoadBalancerMonitorsInterface.new(common_interface_options).setopts(@options)
|
|
515
|
+
end
|
|
516
|
+
|
|
517
|
+
def load_balancer_pool_nodes
|
|
518
|
+
MtnCloud::LoadBalancerPoolNodesInterface.new(common_interface_options).setopts(@options)
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
def tasks
|
|
522
|
+
MtnCloud::TasksInterface.new(common_interface_options).setopts(@options)
|
|
523
|
+
end
|
|
524
|
+
|
|
525
|
+
def task_sets
|
|
526
|
+
MtnCloud::TaskSetsInterface.new(common_interface_options).setopts(@options)
|
|
527
|
+
end
|
|
528
|
+
|
|
529
|
+
def virtual_images
|
|
530
|
+
MtnCloud::VirtualImagesInterface.new(common_interface_options).setopts(@options)
|
|
531
|
+
end
|
|
532
|
+
|
|
533
|
+
def apps
|
|
534
|
+
MtnCloud::AppsInterface.new(common_interface_options).setopts(@options)
|
|
535
|
+
end
|
|
536
|
+
|
|
537
|
+
def blueprints
|
|
538
|
+
MtnCloud::BlueprintsInterface.new(common_interface_options).setopts(@options)
|
|
539
|
+
end
|
|
540
|
+
|
|
541
|
+
def deploy
|
|
542
|
+
MtnCloud::DeployInterface.new(common_interface_options).setopts(@options)
|
|
543
|
+
end
|
|
544
|
+
|
|
545
|
+
def deployments
|
|
546
|
+
MtnCloud::DeploymentsInterface.new(common_interface_options).setopts(@options)
|
|
547
|
+
end
|
|
548
|
+
|
|
549
|
+
def security_groups
|
|
550
|
+
MtnCloud::SecurityGroupsInterface.new(common_interface_options).setopts(@options)
|
|
551
|
+
end
|
|
552
|
+
|
|
553
|
+
def security_group_rules
|
|
554
|
+
MtnCloud::SecurityGroupRulesInterface.new(common_interface_options).setopts(@options)
|
|
555
|
+
end
|
|
556
|
+
|
|
557
|
+
def clusters
|
|
558
|
+
MtnCloud::ClustersInterface.new(common_interface_options).setopts(@options)
|
|
559
|
+
end
|
|
560
|
+
|
|
561
|
+
def affinity_groups
|
|
562
|
+
MtnCloud::AffinityGroupsInterface.new(common_interface_options).setopts(@options)
|
|
563
|
+
end
|
|
564
|
+
|
|
565
|
+
def host_vm_groups
|
|
566
|
+
MtnCloud::HostVmGroupsInterface.new(common_interface_options).setopts(@options)
|
|
567
|
+
end
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
def accounts
|
|
571
|
+
MtnCloud::AccountsInterface.new(common_interface_options).setopts(@options)
|
|
572
|
+
end
|
|
573
|
+
|
|
574
|
+
def approvals
|
|
575
|
+
MtnCloud::ApprovalsInterface.new(common_interface_options).setopts(@options)
|
|
576
|
+
end
|
|
577
|
+
|
|
578
|
+
def users
|
|
579
|
+
MtnCloud::UsersInterface.new(common_interface_options).setopts(@options)
|
|
580
|
+
end
|
|
581
|
+
|
|
582
|
+
def account_users
|
|
583
|
+
MtnCloud::AccountUsersInterface.new(common_interface_options).setopts(@options)
|
|
584
|
+
end
|
|
585
|
+
|
|
586
|
+
def user_groups
|
|
587
|
+
MtnCloud::UserGroupsInterface.new(common_interface_options).setopts(@options)
|
|
588
|
+
end
|
|
589
|
+
|
|
590
|
+
def user_sources
|
|
591
|
+
MtnCloud::UserSourcesInterface.new(common_interface_options).setopts(@options)
|
|
592
|
+
end
|
|
593
|
+
|
|
594
|
+
def logs
|
|
595
|
+
MtnCloud::LogsInterface.new(common_interface_options).setopts(@options)
|
|
596
|
+
end
|
|
597
|
+
|
|
598
|
+
def roles
|
|
599
|
+
MtnCloud::RolesInterface.new(common_interface_options).setopts(@options)
|
|
600
|
+
end
|
|
601
|
+
|
|
602
|
+
def key_pairs
|
|
603
|
+
MtnCloud::KeyPairsInterface.new(common_interface_options).setopts(@options)
|
|
604
|
+
end
|
|
605
|
+
|
|
606
|
+
def distributed_workers
|
|
607
|
+
MtnCloud::DistributedWorkersInterface.new(common_interface_options).setopts(@options)
|
|
608
|
+
end
|
|
609
|
+
|
|
610
|
+
def certificates
|
|
611
|
+
MtnCloud::CertificatesInterface.new(common_interface_options).setopts(@options)
|
|
612
|
+
end
|
|
613
|
+
|
|
614
|
+
def certificate_types
|
|
615
|
+
MtnCloud::CertificateTypesInterface.new(common_interface_options).setopts(@options)
|
|
616
|
+
end
|
|
617
|
+
|
|
618
|
+
def license
|
|
619
|
+
MtnCloud::LicenseInterface.new(common_interface_options).setopts(@options)
|
|
620
|
+
end
|
|
621
|
+
|
|
622
|
+
def option_types
|
|
623
|
+
MtnCloud::OptionTypesInterface.new(common_interface_options).setopts(@options)
|
|
624
|
+
end
|
|
625
|
+
|
|
626
|
+
def option_type_lists
|
|
627
|
+
MtnCloud::OptionTypeListsInterface.new(common_interface_options).setopts(@options)
|
|
628
|
+
end
|
|
629
|
+
|
|
630
|
+
def option_type_forms
|
|
631
|
+
MtnCloud::OptionTypeFormsInterface.new(common_interface_options).setopts(@options)
|
|
632
|
+
end
|
|
633
|
+
|
|
634
|
+
def scale_thresholds
|
|
635
|
+
MtnCloud::ScaleThresholdsInterface.new(common_interface_options).setopts(@options)
|
|
636
|
+
end
|
|
637
|
+
|
|
638
|
+
def power_schedules
|
|
639
|
+
MtnCloud::PowerSchedulesInterface.new(common_interface_options).setopts(@options)
|
|
640
|
+
end
|
|
641
|
+
|
|
642
|
+
def execute_schedules
|
|
643
|
+
MtnCloud::ExecuteSchedulesInterface.new(common_interface_options).setopts(@options)
|
|
644
|
+
end
|
|
645
|
+
|
|
646
|
+
def monitoring
|
|
647
|
+
MtnCloud::MonitoringInterface.new(common_interface_options).setopts(@options)
|
|
648
|
+
end
|
|
649
|
+
|
|
650
|
+
# def checks
|
|
651
|
+
# # MtnCloud::MonitoringChecksInterface.new(common_interface_options).setopts(@options)
|
|
652
|
+
# monitoring.checks
|
|
653
|
+
# end
|
|
654
|
+
|
|
655
|
+
# def incidents
|
|
656
|
+
# # MtnCloud::MonitoringIncidentsInterface.new(common_interface_options).setopts(@options)
|
|
657
|
+
# monitoring.incidents
|
|
658
|
+
# end
|
|
659
|
+
|
|
660
|
+
def policies
|
|
661
|
+
MtnCloud::PoliciesInterface.new(common_interface_options).setopts(@options)
|
|
662
|
+
end
|
|
663
|
+
|
|
664
|
+
def group_policies
|
|
665
|
+
MtnCloud::GroupPoliciesInterface.new(common_interface_options).setopts(@options)
|
|
666
|
+
end
|
|
667
|
+
|
|
668
|
+
def cloud_policies
|
|
669
|
+
MtnCloud::CloudPoliciesInterface.new(common_interface_options).setopts(@options)
|
|
670
|
+
end
|
|
671
|
+
|
|
672
|
+
def networks
|
|
673
|
+
MtnCloud::NetworksInterface.new(common_interface_options).setopts(@options)
|
|
674
|
+
end
|
|
675
|
+
|
|
676
|
+
def network_types
|
|
677
|
+
MtnCloud::NetworkTypesInterface.new(common_interface_options).setopts(@options)
|
|
678
|
+
end
|
|
679
|
+
|
|
680
|
+
def subnets
|
|
681
|
+
MtnCloud::SubnetsInterface.new(common_interface_options).setopts(@options)
|
|
682
|
+
end
|
|
683
|
+
|
|
684
|
+
def subnet_types
|
|
685
|
+
MtnCloud::SubnetTypesInterface.new(common_interface_options).setopts(@options)
|
|
686
|
+
end
|
|
687
|
+
|
|
688
|
+
def network_groups
|
|
689
|
+
MtnCloud::NetworkGroupsInterface.new(common_interface_options).setopts(@options)
|
|
690
|
+
end
|
|
691
|
+
|
|
692
|
+
def network_pools
|
|
693
|
+
MtnCloud::NetworkPoolsInterface.new(common_interface_options).setopts(@options)
|
|
694
|
+
end
|
|
695
|
+
|
|
696
|
+
def network_pool_ips
|
|
697
|
+
MtnCloud::NetworkPoolIpsInterface.new(common_interface_options).setopts(@options)
|
|
698
|
+
end
|
|
699
|
+
|
|
700
|
+
def network_routers
|
|
701
|
+
MtnCloud::NetworkRoutersInterface.new(common_interface_options).setopts(@options)
|
|
702
|
+
end
|
|
703
|
+
|
|
704
|
+
def network_services
|
|
705
|
+
MtnCloud::NetworkServicesInterface.new(common_interface_options).setopts(@options)
|
|
706
|
+
end
|
|
707
|
+
|
|
708
|
+
# def network_service_types
|
|
709
|
+
# MtnCloud::NetworkServiceTypesInterface.new(common_interface_options).setopts(@options)
|
|
710
|
+
# end
|
|
711
|
+
|
|
712
|
+
def network_security_servers
|
|
713
|
+
MtnCloud::NetworkSecurityServersInterface.new(common_interface_options).setopts(@options)
|
|
714
|
+
end
|
|
715
|
+
|
|
716
|
+
def network_security_server_types
|
|
717
|
+
MtnCloud::NetworkSecurityServerTypesInterface.new(common_interface_options).setopts(@options)
|
|
718
|
+
end
|
|
719
|
+
|
|
720
|
+
def network_pool_servers
|
|
721
|
+
MtnCloud::NetworkPoolServersInterface.new(common_interface_options).setopts(@options)
|
|
722
|
+
end
|
|
723
|
+
|
|
724
|
+
def network_pool_server_types
|
|
725
|
+
MtnCloud::NetworkPoolServerTypesInterface.new(common_interface_options).setopts(@options)
|
|
726
|
+
end
|
|
727
|
+
|
|
728
|
+
def network_domains
|
|
729
|
+
MtnCloud::NetworkDomainsInterface.new(common_interface_options).setopts(@options)
|
|
730
|
+
end
|
|
731
|
+
|
|
732
|
+
def network_domain_records
|
|
733
|
+
MtnCloud::NetworkDomainRecordsInterface.new(common_interface_options).setopts(@options)
|
|
734
|
+
end
|
|
735
|
+
|
|
736
|
+
def network_proxies
|
|
737
|
+
MtnCloud::NetworkProxiesInterface.new(common_interface_options).setopts(@options)
|
|
738
|
+
end
|
|
739
|
+
|
|
740
|
+
def archive_buckets
|
|
741
|
+
MtnCloud::ArchiveBucketsInterface.new(common_interface_options).setopts(@options)
|
|
742
|
+
end
|
|
743
|
+
|
|
744
|
+
def archive_files
|
|
745
|
+
MtnCloud::ArchiveFilesInterface.new(common_interface_options).setopts(@options)
|
|
746
|
+
end
|
|
747
|
+
|
|
748
|
+
def image_builder
|
|
749
|
+
MtnCloud::ImageBuilderInterface.new(common_interface_options).setopts(@options)
|
|
750
|
+
end
|
|
751
|
+
|
|
752
|
+
def storage_providers
|
|
753
|
+
MtnCloud::StorageProvidersInterface.new(common_interface_options).setopts(@options)
|
|
754
|
+
end
|
|
755
|
+
|
|
756
|
+
def storage_servers
|
|
757
|
+
MtnCloud::StorageServersInterface.new(common_interface_options).setopts(@options)
|
|
758
|
+
end
|
|
759
|
+
|
|
760
|
+
def storage_server_types
|
|
761
|
+
MtnCloud::StorageServerTypesInterface.new(common_interface_options).setopts(@options)
|
|
762
|
+
end
|
|
763
|
+
|
|
764
|
+
def storage_volumes
|
|
765
|
+
MtnCloud::StorageVolumesInterface.new(common_interface_options).setopts(@options)
|
|
766
|
+
end
|
|
767
|
+
|
|
768
|
+
def storage_volume_types
|
|
769
|
+
MtnCloud::StorageVolumeTypesInterface.new(common_interface_options).setopts(@options)
|
|
770
|
+
end
|
|
771
|
+
|
|
772
|
+
def storage_datastores
|
|
773
|
+
MtnCloud::StorageDatastoresInterface.new(common_interface_options).setopts(@options)
|
|
774
|
+
end
|
|
775
|
+
|
|
776
|
+
def library_instance_types
|
|
777
|
+
MtnCloud::LibraryInstanceTypesInterface.new(common_interface_options).setopts(@options)
|
|
778
|
+
end
|
|
779
|
+
|
|
780
|
+
def library_layouts
|
|
781
|
+
MtnCloud::LibraryLayoutsInterface.new(common_interface_options).setopts(@options)
|
|
782
|
+
end
|
|
783
|
+
|
|
784
|
+
def library_container_upgrades
|
|
785
|
+
MtnCloud::LibraryContainerUpgradesInterface.new(common_interface_options).setopts(@options)
|
|
786
|
+
end
|
|
787
|
+
|
|
788
|
+
def library_container_types
|
|
789
|
+
MtnCloud::LibraryContainerTypesInterface.new(common_interface_options).setopts(@options)
|
|
790
|
+
end
|
|
791
|
+
|
|
792
|
+
def library_container_scripts
|
|
793
|
+
MtnCloud::LibraryContainerScriptsInterface.new(common_interface_options).setopts(@options)
|
|
794
|
+
end
|
|
795
|
+
|
|
796
|
+
def library_container_templates
|
|
797
|
+
MtnCloud::LibraryContainerTemplatesInterface.new(common_interface_options).setopts(@options)
|
|
798
|
+
end
|
|
799
|
+
|
|
800
|
+
def library_cluster_layouts
|
|
801
|
+
MtnCloud::LibraryClusterLayoutsInterface.new(common_interface_options).setopts(@options)
|
|
802
|
+
end
|
|
803
|
+
|
|
804
|
+
def library_cluster_packages
|
|
805
|
+
MtnCloud::LibraryClusterPackagesInterface.new(common_interface_options).setopts(@options)
|
|
806
|
+
end
|
|
807
|
+
|
|
808
|
+
def library_spec_templates
|
|
809
|
+
MtnCloud::LibrarySpecTemplatesInterface.new(common_interface_options).setopts(@options)
|
|
810
|
+
end
|
|
811
|
+
|
|
812
|
+
def library_spec_template_types
|
|
813
|
+
MtnCloud::LibrarySpecTemplateTypesInterface.new(common_interface_options).setopts(@options)
|
|
814
|
+
end
|
|
815
|
+
|
|
816
|
+
def packages
|
|
817
|
+
MtnCloud::PackagesInterface.new(common_interface_options).setopts(@options)
|
|
818
|
+
end
|
|
819
|
+
|
|
820
|
+
def plugins
|
|
821
|
+
MtnCloud::PluginsInterface.new(common_interface_options).setopts(@options)
|
|
822
|
+
end
|
|
823
|
+
|
|
824
|
+
def cypher
|
|
825
|
+
MtnCloud::CypherInterface.new(common_interface_options).setopts(@options)
|
|
826
|
+
end
|
|
827
|
+
|
|
828
|
+
def old_cypher
|
|
829
|
+
MtnCloud::OldCypherInterface.new(common_interface_options).setopts(@options)
|
|
830
|
+
end
|
|
831
|
+
|
|
832
|
+
def execution_request
|
|
833
|
+
MtnCloud::ExecutionRequestInterface.new(common_interface_options).setopts(@options)
|
|
834
|
+
end
|
|
835
|
+
|
|
836
|
+
def file_copy_request
|
|
837
|
+
MtnCloud::FileCopyRequestInterface.new(common_interface_options).setopts(@options)
|
|
838
|
+
end
|
|
839
|
+
|
|
840
|
+
def processes
|
|
841
|
+
MtnCloud::ProcessesInterface.new(common_interface_options).setopts(@options)
|
|
842
|
+
end
|
|
843
|
+
|
|
844
|
+
def reports
|
|
845
|
+
MtnCloud::ReportsInterface.new(common_interface_options).setopts(@options)
|
|
846
|
+
end
|
|
847
|
+
|
|
848
|
+
def environments
|
|
849
|
+
MtnCloud::EnvironmentsInterface.new(common_interface_options).setopts(@options)
|
|
850
|
+
end
|
|
851
|
+
|
|
852
|
+
def backup_settings
|
|
853
|
+
MtnCloud::BackupSettingsInterface.new(common_interface_options).setopts(@options)
|
|
854
|
+
end
|
|
855
|
+
|
|
856
|
+
def guidance_settings
|
|
857
|
+
MtnCloud::GuidanceSettingsInterface.new(common_interface_options).setopts(@options)
|
|
858
|
+
end
|
|
859
|
+
|
|
860
|
+
def log_settings
|
|
861
|
+
MtnCloud::LogSettingsInterface.new(common_interface_options).setopts(@options)
|
|
862
|
+
end
|
|
863
|
+
|
|
864
|
+
def monitoring_settings
|
|
865
|
+
MtnCloud::MonitoringSettingsInterface.new(common_interface_options).setopts(@options)
|
|
866
|
+
end
|
|
867
|
+
|
|
868
|
+
def whitelabel_settings
|
|
869
|
+
MtnCloud::WhitelabelSettingsInterface.new(common_interface_options).setopts(@options)
|
|
870
|
+
end
|
|
871
|
+
|
|
872
|
+
def wiki
|
|
873
|
+
MtnCloud::WikiInterface.new(common_interface_options).setopts(@options)
|
|
874
|
+
end
|
|
875
|
+
|
|
876
|
+
def health
|
|
877
|
+
MtnCloud::HealthInterface.new(common_interface_options).setopts(@options)
|
|
878
|
+
end
|
|
879
|
+
|
|
880
|
+
def hub
|
|
881
|
+
MtnCloud::HubInterface.new(common_interface_options).setopts(@options)
|
|
882
|
+
end
|
|
883
|
+
|
|
884
|
+
def audit
|
|
885
|
+
MtnCloud::AuditInterface.new(common_interface_options).setopts(@options)
|
|
886
|
+
end
|
|
887
|
+
|
|
888
|
+
def budgets
|
|
889
|
+
MtnCloud::BudgetsInterface.new(common_interface_options).setopts(@options)
|
|
890
|
+
end
|
|
891
|
+
|
|
892
|
+
def invoices
|
|
893
|
+
MtnCloud::InvoicesInterface.new(common_interface_options).setopts(@options)
|
|
894
|
+
end
|
|
895
|
+
|
|
896
|
+
def invoice_line_items
|
|
897
|
+
MtnCloud::InvoiceLineItemsInterface.new(common_interface_options).setopts(@options)
|
|
898
|
+
end
|
|
899
|
+
|
|
900
|
+
def guidance
|
|
901
|
+
MtnCloud::GuidanceInterface.new(common_interface_options).setopts(@options)
|
|
902
|
+
end
|
|
903
|
+
|
|
904
|
+
def projects
|
|
905
|
+
MtnCloud::ProjectsInterface.new(common_interface_options).setopts(@options)
|
|
906
|
+
end
|
|
907
|
+
|
|
908
|
+
def backups
|
|
909
|
+
MtnCloud::BackupsInterface.new(common_interface_options).setopts(@options)
|
|
910
|
+
end
|
|
911
|
+
|
|
912
|
+
def backup_jobs
|
|
913
|
+
MtnCloud::BackupJobsInterface.new(common_interface_options).setopts(@options)
|
|
914
|
+
end
|
|
915
|
+
|
|
916
|
+
def backup_results
|
|
917
|
+
MtnCloud::BackupResultsInterface.new(common_interface_options).setopts(@options)
|
|
918
|
+
end
|
|
919
|
+
|
|
920
|
+
def backup_restores
|
|
921
|
+
MtnCloud::BackupRestoresInterface.new(common_interface_options).setopts(@options)
|
|
922
|
+
end
|
|
923
|
+
|
|
924
|
+
def backup_services
|
|
925
|
+
MtnCloud::BackupServicesInterface.new(common_interface_options).setopts(@options)
|
|
926
|
+
end
|
|
927
|
+
|
|
928
|
+
def backup_service_types
|
|
929
|
+
MtnCloud::BackupServiceTypesInterface.new(common_interface_options).setopts(@options)
|
|
930
|
+
end
|
|
931
|
+
|
|
932
|
+
def backup_types
|
|
933
|
+
MtnCloud::BackupTypesInterface.new(common_interface_options).setopts(@options)
|
|
934
|
+
end
|
|
935
|
+
|
|
936
|
+
def catalog_item_types
|
|
937
|
+
MtnCloud::CatalogItemTypesInterface.new(common_interface_options).setopts(@options)
|
|
938
|
+
end
|
|
939
|
+
|
|
940
|
+
def catalog
|
|
941
|
+
MtnCloud::ServiceCatalogInterface.new(common_interface_options).setopts(@options)
|
|
942
|
+
end
|
|
943
|
+
|
|
944
|
+
def usage
|
|
945
|
+
MtnCloud::UsageInterface.new(common_interface_options).setopts(@options)
|
|
946
|
+
end
|
|
947
|
+
|
|
948
|
+
def billing
|
|
949
|
+
MtnCloud::BillingInterface.new(common_interface_options).setopts(@options)
|
|
950
|
+
end
|
|
951
|
+
|
|
952
|
+
def vdi
|
|
953
|
+
MtnCloud::VdiInterface.new(common_interface_options).setopts(@options)
|
|
954
|
+
end
|
|
955
|
+
|
|
956
|
+
def vdi_pools
|
|
957
|
+
MtnCloud::VdiPoolsInterface.new(common_interface_options).setopts(@options)
|
|
958
|
+
end
|
|
959
|
+
|
|
960
|
+
def vdi_allocations
|
|
961
|
+
MtnCloud::VdiAllocationsInterface.new(common_interface_options).setopts(@options)
|
|
962
|
+
end
|
|
963
|
+
|
|
964
|
+
def vdi_apps
|
|
965
|
+
MtnCloud::VdiAppsInterface.new(common_interface_options).setopts(@options)
|
|
966
|
+
end
|
|
967
|
+
|
|
968
|
+
def vdi_gateways
|
|
969
|
+
MtnCloud::VdiGatewaysInterface.new(common_interface_options).setopts(@options)
|
|
970
|
+
end
|
|
971
|
+
|
|
972
|
+
def network_servers
|
|
973
|
+
MtnCloud::NetworkServersInterface.new(common_interface_options).setopts(@options)
|
|
974
|
+
end
|
|
975
|
+
|
|
976
|
+
def network_server_types
|
|
977
|
+
MtnCloud::NetworkServerTypesInterface.new(common_interface_options).setopts(@options)
|
|
978
|
+
end
|
|
979
|
+
|
|
980
|
+
def network_server_groups
|
|
981
|
+
MtnCloud::NetworkServerGroupsInterface.new(common_interface_options).setopts(@options)
|
|
982
|
+
end
|
|
983
|
+
|
|
984
|
+
def network_server_services
|
|
985
|
+
MtnCloud::NetworkServerServicesInterface.new(common_interface_options).setopts(@options)
|
|
986
|
+
end
|
|
987
|
+
|
|
988
|
+
def network_resource_types
|
|
989
|
+
MtnCloud::NetworkResourceTypesInterface.new(common_interface_options).setopts(@options)
|
|
990
|
+
end
|
|
991
|
+
|
|
992
|
+
def network_edge_clusters
|
|
993
|
+
MtnCloud::NetworkEdgeClustersInterface.new(common_interface_options).setopts(@options)
|
|
994
|
+
end
|
|
995
|
+
|
|
996
|
+
def network_dhcp_servers
|
|
997
|
+
MtnCloud::NetworkDhcpServersInterface.new(common_interface_options).setopts(@options)
|
|
998
|
+
end
|
|
999
|
+
|
|
1000
|
+
def network_dhcp_relays
|
|
1001
|
+
MtnCloud::NetworkDhcpRelaysInterface.new(common_interface_options).setopts(@options)
|
|
1002
|
+
end
|
|
1003
|
+
|
|
1004
|
+
def network_static_routes
|
|
1005
|
+
MtnCloud::NetworkStaticRoutesInterface.new(common_interface_options).setopts(@options)
|
|
1006
|
+
end
|
|
1007
|
+
|
|
1008
|
+
def snapshots
|
|
1009
|
+
MtnCloud::SnapshotsInterface.new(common_interface_options).setopts(@options)
|
|
1010
|
+
end
|
|
1011
|
+
|
|
1012
|
+
def credentials
|
|
1013
|
+
MtnCloud::CredentialsInterface.new(common_interface_options).setopts(@options)
|
|
1014
|
+
end
|
|
1015
|
+
|
|
1016
|
+
def credential_types
|
|
1017
|
+
MtnCloud::CredentialTypesInterface.new(common_interface_options).setopts(@options)
|
|
1018
|
+
end
|
|
1019
|
+
|
|
1020
|
+
def clients
|
|
1021
|
+
MtnCloud::ClientsInterface.new(common_interface_options).setopts(@options)
|
|
1022
|
+
end
|
|
1023
|
+
|
|
1024
|
+
def security_packages
|
|
1025
|
+
MtnCloud::SecurityPackagesInterface.new(common_interface_options).setopts(@options)
|
|
1026
|
+
end
|
|
1027
|
+
|
|
1028
|
+
def security_package_types
|
|
1029
|
+
MtnCloud::SecurityPackageTypesInterface.new(common_interface_options).setopts(@options)
|
|
1030
|
+
end
|
|
1031
|
+
|
|
1032
|
+
def security_scans
|
|
1033
|
+
MtnCloud::SecurityScansInterface.new(common_interface_options).setopts(@options)
|
|
1034
|
+
end
|
|
1035
|
+
|
|
1036
|
+
def network_floating_ips
|
|
1037
|
+
MtnCloud::NetworkFloatingIpsInterface.new(common_interface_options).setopts(@options)
|
|
1038
|
+
end
|
|
1039
|
+
|
|
1040
|
+
def email_templates
|
|
1041
|
+
MtnCloud::EmailTemplatesInterface.new(common_interface_options).setopts(@options)
|
|
1042
|
+
end
|
|
1043
|
+
|
|
1044
|
+
def library_operating_systems
|
|
1045
|
+
MtnCloud::LibraryOperatingSystemsInterface.new(common_interface_options).setopts(@options)
|
|
1046
|
+
end
|
|
1047
|
+
|
|
1048
|
+
def migrations
|
|
1049
|
+
MtnCloud::MigrationsInterface.new(common_interface_options).setopts(@options)
|
|
1050
|
+
end
|
|
1051
|
+
|
|
1052
|
+
def tokens
|
|
1053
|
+
MtnCloud::TokensInterface.new(common_interface_options).setopts(@options)
|
|
1054
|
+
end
|
|
1055
|
+
|
|
1056
|
+
def virtual_switches
|
|
1057
|
+
MtnCloud::VirtualSwitchesInterface.new(common_interface_options).setopts(@options)
|
|
1058
|
+
end
|
|
1059
|
+
|
|
1060
|
+
def rest(endpoint)
|
|
1061
|
+
MtnCloud::RestInterface.new(common_interface_options).setopts(@options.merge({base_path: "#{@base_url}/api/#{endpoint}"}))
|
|
1062
|
+
end
|
|
1063
|
+
|
|
1064
|
+
def interface(type)
|
|
1065
|
+
type = type.to_s.singularize.underscore
|
|
1066
|
+
interface_name = type.pluralize
|
|
1067
|
+
if !respond_to?(interface_name)
|
|
1068
|
+
raise "#{self.class} has not defined an interface method named '#{interface_name}'"
|
|
1069
|
+
end
|
|
1070
|
+
return send(interface_name)
|
|
1071
|
+
end
|
|
1072
|
+
alias :get_interface :interface
|
|
1073
|
+
|
|
1074
|
+
def support_bundles
|
|
1075
|
+
MtnCloud::SupportBundlesInterface.new(common_interface_options).setopts(@options)
|
|
1076
|
+
end
|
|
1077
|
+
|
|
1078
|
+
# add new interfaces here
|
|
1079
|
+
|
|
1080
|
+
protected
|
|
1081
|
+
|
|
1082
|
+
def validate_id!(id, param_name='id')
|
|
1083
|
+
if !(id.is_a?(String) || id.is_a?(Integer))
|
|
1084
|
+
raise "#{self.class} passed an invalid #{param_name}! Expected String or Integer and got (#{id.class}) #{id.inspect}"
|
|
1085
|
+
elsif id.to_s.strip.empty?
|
|
1086
|
+
raise "#{self.class} passed a blank #{param_name}!"
|
|
1087
|
+
end
|
|
1088
|
+
return true
|
|
1089
|
+
end
|
|
1090
|
+
|
|
1091
|
+
end
|