fog-zj 0.1.28
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +13 -0
- data/.hound.yml +2 -0
- data/.rubocop.yml +110 -0
- data/.ruby-gemset +1 -0
- data/.travis.yml +32 -0
- data/.zuul.yaml +35 -0
- data/CHANGELOG.md +47 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/CONTRIBUTING.md +18 -0
- data/Gemfile +4 -0
- data/LICENSE.md +20 -0
- data/README.md +572 -0
- data/Rakefile +31 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/docker-compose.yml +44 -0
- data/docs/common/connection_params.md +45 -0
- data/docs/common/resources.md +11 -0
- data/docs/compute.md +636 -0
- data/docs/getting_started.md +82 -0
- data/docs/introspection.md +251 -0
- data/docs/metering.md +43 -0
- data/docs/network.md +238 -0
- data/docs/nfv.md +144 -0
- data/docs/orchestration.md +360 -0
- data/docs/planning.md +225 -0
- data/docs/shared_file_system.md +82 -0
- data/docs/storage.md +406 -0
- data/docs/workflow.md +131 -0
- data/examples/compute/basics.rb +50 -0
- data/examples/compute/block_device_mapping_v2.rb +30 -0
- data/examples/container_infra/basics.rb +61 -0
- data/examples/event/basics.rb +22 -0
- data/examples/identity/basics.rb +67 -0
- data/examples/identity/basics_v3.rb +83 -0
- data/examples/image/upload-test-image.rb +74 -0
- data/examples/introspection/basics.rb +75 -0
- data/examples/metric/basics.rb +42 -0
- data/examples/network/network_add_port.rb +21 -0
- data/examples/network/network_rbac.rb +69 -0
- data/examples/network/network_subnets_routers.rb +62 -0
- data/examples/planning/basics.rb +53 -0
- data/examples/shared_file_system/basics.rb +68 -0
- data/examples/storage/set-account-quota.rb +64 -0
- data/examples/volume/backups.rb +41 -0
- data/examples/workflow/workflow-examples.rb +387 -0
- data/fog-openstack.gemspec +38 -0
- data/lib/fog/baremetal/openstack.rb +284 -0
- data/lib/fog/baremetal/openstack/models/chassis.rb +49 -0
- data/lib/fog/baremetal/openstack/models/chassis_collection.rb +44 -0
- data/lib/fog/baremetal/openstack/models/driver.rb +24 -0
- data/lib/fog/baremetal/openstack/models/drivers.rb +21 -0
- data/lib/fog/baremetal/openstack/models/node.rb +96 -0
- data/lib/fog/baremetal/openstack/models/nodes.rb +44 -0
- data/lib/fog/baremetal/openstack/models/port.rb +50 -0
- data/lib/fog/baremetal/openstack/models/ports.rb +44 -0
- data/lib/fog/baremetal/openstack/requests/create_chassis.rb +44 -0
- data/lib/fog/baremetal/openstack/requests/create_node.rb +54 -0
- data/lib/fog/baremetal/openstack/requests/create_port.rb +46 -0
- data/lib/fog/baremetal/openstack/requests/delete_chassis.rb +25 -0
- data/lib/fog/baremetal/openstack/requests/delete_node.rb +25 -0
- data/lib/fog/baremetal/openstack/requests/delete_port.rb +25 -0
- data/lib/fog/baremetal/openstack/requests/get_chassis.rb +24 -0
- data/lib/fog/baremetal/openstack/requests/get_driver.rb +24 -0
- data/lib/fog/baremetal/openstack/requests/get_driver_properties.rb +40 -0
- data/lib/fog/baremetal/openstack/requests/get_node.rb +24 -0
- data/lib/fog/baremetal/openstack/requests/get_port.rb +24 -0
- data/lib/fog/baremetal/openstack/requests/list_chassis.rb +42 -0
- data/lib/fog/baremetal/openstack/requests/list_chassis_detailed.rb +25 -0
- data/lib/fog/baremetal/openstack/requests/list_drivers.rb +25 -0
- data/lib/fog/baremetal/openstack/requests/list_nodes.rb +34 -0
- data/lib/fog/baremetal/openstack/requests/list_nodes_detailed.rb +25 -0
- data/lib/fog/baremetal/openstack/requests/list_ports.rb +42 -0
- data/lib/fog/baremetal/openstack/requests/list_ports_detailed.rb +25 -0
- data/lib/fog/baremetal/openstack/requests/patch_chassis.rb +41 -0
- data/lib/fog/baremetal/openstack/requests/patch_node.rb +41 -0
- data/lib/fog/baremetal/openstack/requests/patch_port.rb +41 -0
- data/lib/fog/baremetal/openstack/requests/set_node_maintenance.rb +30 -0
- data/lib/fog/baremetal/openstack/requests/set_node_power_state.rb +35 -0
- data/lib/fog/baremetal/openstack/requests/set_node_provision_state.rb +38 -0
- data/lib/fog/baremetal/openstack/requests/unset_node_maintenance.rb +30 -0
- data/lib/fog/compute/openstack.rb +413 -0
- data/lib/fog/compute/openstack/models/address.rb +67 -0
- data/lib/fog/compute/openstack/models/addresses.rb +28 -0
- data/lib/fog/compute/openstack/models/aggregate.rb +59 -0
- data/lib/fog/compute/openstack/models/aggregates.rb +26 -0
- data/lib/fog/compute/openstack/models/availability_zone.rb +19 -0
- data/lib/fog/compute/openstack/models/availability_zones.rb +22 -0
- data/lib/fog/compute/openstack/models/flavor.rb +64 -0
- data/lib/fog/compute/openstack/models/flavors.rb +29 -0
- data/lib/fog/compute/openstack/models/host.rb +28 -0
- data/lib/fog/compute/openstack/models/hosts.rb +26 -0
- data/lib/fog/compute/openstack/models/image.rb +47 -0
- data/lib/fog/compute/openstack/models/images.rb +38 -0
- data/lib/fog/compute/openstack/models/key_pair.rb +56 -0
- data/lib/fog/compute/openstack/models/key_pairs.rb +29 -0
- data/lib/fog/compute/openstack/models/metadata.rb +65 -0
- data/lib/fog/compute/openstack/models/metadatum.rb +27 -0
- data/lib/fog/compute/openstack/models/network.rb +13 -0
- data/lib/fog/compute/openstack/models/networks.rb +30 -0
- data/lib/fog/compute/openstack/models/os_interface.rb +15 -0
- data/lib/fog/compute/openstack/models/os_interfaces.rb +28 -0
- data/lib/fog/compute/openstack/models/security_group.rb +57 -0
- data/lib/fog/compute/openstack/models/security_group_rule.rb +32 -0
- data/lib/fog/compute/openstack/models/security_group_rules.rb +21 -0
- data/lib/fog/compute/openstack/models/security_groups.rb +24 -0
- data/lib/fog/compute/openstack/models/server.rb +410 -0
- data/lib/fog/compute/openstack/models/server_group.rb +22 -0
- data/lib/fog/compute/openstack/models/server_groups.rb +28 -0
- data/lib/fog/compute/openstack/models/servers.rb +59 -0
- data/lib/fog/compute/openstack/models/service.rb +42 -0
- data/lib/fog/compute/openstack/models/services.rb +35 -0
- data/lib/fog/compute/openstack/models/snapshot.rb +32 -0
- data/lib/fog/compute/openstack/models/snapshots.rb +37 -0
- data/lib/fog/compute/openstack/models/tenant.rb +24 -0
- data/lib/fog/compute/openstack/models/tenants.rb +24 -0
- data/lib/fog/compute/openstack/models/volume.rb +52 -0
- data/lib/fog/compute/openstack/models/volume_attachment.rb +15 -0
- data/lib/fog/compute/openstack/models/volume_attachments.rb +20 -0
- data/lib/fog/compute/openstack/models/volumes.rb +37 -0
- data/lib/fog/compute/openstack/requests/add_aggregate_host.rb +30 -0
- data/lib/fog/compute/openstack/requests/add_fixed_ip.rb +29 -0
- data/lib/fog/compute/openstack/requests/add_flavor_access.rb +29 -0
- data/lib/fog/compute/openstack/requests/add_security_group.rb +20 -0
- data/lib/fog/compute/openstack/requests/allocate_address.rb +39 -0
- data/lib/fog/compute/openstack/requests/associate_address.rb +30 -0
- data/lib/fog/compute/openstack/requests/attach_volume.rb +39 -0
- data/lib/fog/compute/openstack/requests/boot_from_snapshot.rb +41 -0
- data/lib/fog/compute/openstack/requests/change_server_password.rb +20 -0
- data/lib/fog/compute/openstack/requests/confirm_resize_server.rb +20 -0
- data/lib/fog/compute/openstack/requests/create_aggregate.rb +42 -0
- data/lib/fog/compute/openstack/requests/create_flavor.rb +85 -0
- data/lib/fog/compute/openstack/requests/create_flavor_metadata.rb +37 -0
- data/lib/fog/compute/openstack/requests/create_image.rb +44 -0
- data/lib/fog/compute/openstack/requests/create_key_pair.rb +48 -0
- data/lib/fog/compute/openstack/requests/create_os_interface.rb +42 -0
- data/lib/fog/compute/openstack/requests/create_security_group.rb +51 -0
- data/lib/fog/compute/openstack/requests/create_security_group_rule.rb +57 -0
- data/lib/fog/compute/openstack/requests/create_server.rb +187 -0
- data/lib/fog/compute/openstack/requests/create_server_group.rb +31 -0
- data/lib/fog/compute/openstack/requests/create_snapshot.rb +51 -0
- data/lib/fog/compute/openstack/requests/create_volume.rb +58 -0
- data/lib/fog/compute/openstack/requests/delete_aggregate.rb +28 -0
- data/lib/fog/compute/openstack/requests/delete_flavor.rb +28 -0
- data/lib/fog/compute/openstack/requests/delete_flavor_metadata.rb +30 -0
- data/lib/fog/compute/openstack/requests/delete_image.rb +36 -0
- data/lib/fog/compute/openstack/requests/delete_key_pair.rb +31 -0
- data/lib/fog/compute/openstack/requests/delete_meta.rb +35 -0
- data/lib/fog/compute/openstack/requests/delete_metadata.rb +23 -0
- data/lib/fog/compute/openstack/requests/delete_os_interface.rb +24 -0
- data/lib/fog/compute/openstack/requests/delete_security_group.rb +31 -0
- data/lib/fog/compute/openstack/requests/delete_security_group_rule.rb +31 -0
- data/lib/fog/compute/openstack/requests/delete_server.rb +40 -0
- data/lib/fog/compute/openstack/requests/delete_server_group.rb +28 -0
- data/lib/fog/compute/openstack/requests/delete_service.rb +32 -0
- data/lib/fog/compute/openstack/requests/delete_snapshot.rb +28 -0
- data/lib/fog/compute/openstack/requests/delete_volume.rb +28 -0
- data/lib/fog/compute/openstack/requests/detach_volume.rb +29 -0
- data/lib/fog/compute/openstack/requests/disable_service.rb +37 -0
- data/lib/fog/compute/openstack/requests/disable_service_log_reason.rb +38 -0
- data/lib/fog/compute/openstack/requests/disassociate_address.rb +25 -0
- data/lib/fog/compute/openstack/requests/enable_service.rb +37 -0
- data/lib/fog/compute/openstack/requests/evacuate_server.rb +26 -0
- data/lib/fog/compute/openstack/requests/get_address.rb +38 -0
- data/lib/fog/compute/openstack/requests/get_aggregate.rb +25 -0
- data/lib/fog/compute/openstack/requests/get_console_output.rb +24 -0
- data/lib/fog/compute/openstack/requests/get_flavor_details.rb +39 -0
- data/lib/fog/compute/openstack/requests/get_flavor_metadata.rb +26 -0
- data/lib/fog/compute/openstack/requests/get_host_details.rb +60 -0
- data/lib/fog/compute/openstack/requests/get_hypervisor.rb +64 -0
- data/lib/fog/compute/openstack/requests/get_hypervisor_statistics.rb +39 -0
- data/lib/fog/compute/openstack/requests/get_image_details.rb +29 -0
- data/lib/fog/compute/openstack/requests/get_key_pair.rb +50 -0
- data/lib/fog/compute/openstack/requests/get_limits.rb +94 -0
- data/lib/fog/compute/openstack/requests/get_metadata.rb +24 -0
- data/lib/fog/compute/openstack/requests/get_os_interface.rb +24 -0
- data/lib/fog/compute/openstack/requests/get_quota.rb +26 -0
- data/lib/fog/compute/openstack/requests/get_quota_defaults.rb +26 -0
- data/lib/fog/compute/openstack/requests/get_security_group.rb +37 -0
- data/lib/fog/compute/openstack/requests/get_security_group_rule.rb +38 -0
- data/lib/fog/compute/openstack/requests/get_server_details.rb +29 -0
- data/lib/fog/compute/openstack/requests/get_server_group.rb +38 -0
- data/lib/fog/compute/openstack/requests/get_server_password.rb +29 -0
- data/lib/fog/compute/openstack/requests/get_server_volumes.rb +27 -0
- data/lib/fog/compute/openstack/requests/get_snapshot_details.rb +30 -0
- data/lib/fog/compute/openstack/requests/get_usage.rb +48 -0
- data/lib/fog/compute/openstack/requests/get_vnc_console.rb +49 -0
- data/lib/fog/compute/openstack/requests/get_volume_details.rb +32 -0
- data/lib/fog/compute/openstack/requests/list_address_pools.rb +28 -0
- data/lib/fog/compute/openstack/requests/list_addresses.rb +29 -0
- data/lib/fog/compute/openstack/requests/list_aggregates.rb +37 -0
- data/lib/fog/compute/openstack/requests/list_all_addresses.rb +62 -0
- data/lib/fog/compute/openstack/requests/list_availability_zones.rb +23 -0
- data/lib/fog/compute/openstack/requests/list_flavors.rb +35 -0
- data/lib/fog/compute/openstack/requests/list_flavors_detail.rb +35 -0
- data/lib/fog/compute/openstack/requests/list_hosts.rb +27 -0
- data/lib/fog/compute/openstack/requests/list_hypervisor_servers.rb +42 -0
- data/lib/fog/compute/openstack/requests/list_hypervisors.rb +27 -0
- data/lib/fog/compute/openstack/requests/list_hypervisors_detail.rb +71 -0
- data/lib/fog/compute/openstack/requests/list_images.rb +29 -0
- data/lib/fog/compute/openstack/requests/list_images_detail.rb +36 -0
- data/lib/fog/compute/openstack/requests/list_key_pairs.rb +39 -0
- data/lib/fog/compute/openstack/requests/list_metadata.rb +24 -0
- data/lib/fog/compute/openstack/requests/list_os_interfaces.rb +24 -0
- data/lib/fog/compute/openstack/requests/list_private_addresses.rb +29 -0
- data/lib/fog/compute/openstack/requests/list_public_addresses.rb +29 -0
- data/lib/fog/compute/openstack/requests/list_security_groups.rb +67 -0
- data/lib/fog/compute/openstack/requests/list_server_groups.rb +28 -0
- data/lib/fog/compute/openstack/requests/list_servers.rb +36 -0
- data/lib/fog/compute/openstack/requests/list_servers_detail.rb +43 -0
- data/lib/fog/compute/openstack/requests/list_services.rb +66 -0
- data/lib/fog/compute/openstack/requests/list_snapshots.rb +40 -0
- data/lib/fog/compute/openstack/requests/list_snapshots_detail.rb +26 -0
- data/lib/fog/compute/openstack/requests/list_tenants.rb +43 -0
- data/lib/fog/compute/openstack/requests/list_tenants_with_flavor_access.rb +26 -0
- data/lib/fog/compute/openstack/requests/list_usages.rb +38 -0
- data/lib/fog/compute/openstack/requests/list_volume_attachments.rb +31 -0
- data/lib/fog/compute/openstack/requests/list_volumes.rb +39 -0
- data/lib/fog/compute/openstack/requests/list_volumes_detail.rb +25 -0
- data/lib/fog/compute/openstack/requests/list_zones.rb +33 -0
- data/lib/fog/compute/openstack/requests/list_zones_detailed.rb +68 -0
- data/lib/fog/compute/openstack/requests/live_migrate_server.rb +26 -0
- data/lib/fog/compute/openstack/requests/migrate_server.rb +20 -0
- data/lib/fog/compute/openstack/requests/pause_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/reboot_server.rb +20 -0
- data/lib/fog/compute/openstack/requests/rebuild_server.rb +34 -0
- data/lib/fog/compute/openstack/requests/release_address.rb +29 -0
- data/lib/fog/compute/openstack/requests/remote_consoles.rb +54 -0
- data/lib/fog/compute/openstack/requests/remove_aggregate_host.rb +30 -0
- data/lib/fog/compute/openstack/requests/remove_fixed_ip.rb +29 -0
- data/lib/fog/compute/openstack/requests/remove_flavor_access.rb +29 -0
- data/lib/fog/compute/openstack/requests/remove_security_group.rb +20 -0
- data/lib/fog/compute/openstack/requests/rescue_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/reset_server_state.rb +20 -0
- data/lib/fog/compute/openstack/requests/resize_server.rb +20 -0
- data/lib/fog/compute/openstack/requests/resume_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/revert_resize_server.rb +26 -0
- data/lib/fog/compute/openstack/requests/server_action.rb +16 -0
- data/lib/fog/compute/openstack/requests/server_actions.rb +38 -0
- data/lib/fog/compute/openstack/requests/server_diagnostics.rb +25 -0
- data/lib/fog/compute/openstack/requests/set_metadata.rb +37 -0
- data/lib/fog/compute/openstack/requests/set_tenant.rb +19 -0
- data/lib/fog/compute/openstack/requests/shelve_offload_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/shelve_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/start_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/stop_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/suspend_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/unpause_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/unshelve_server.rb +24 -0
- data/lib/fog/compute/openstack/requests/update_aggregate.rb +37 -0
- data/lib/fog/compute/openstack/requests/update_aggregate_metadata.rb +30 -0
- data/lib/fog/compute/openstack/requests/update_flavor_metadata.rb +33 -0
- data/lib/fog/compute/openstack/requests/update_meta.rb +38 -0
- data/lib/fog/compute/openstack/requests/update_metadata.rb +38 -0
- data/lib/fog/compute/openstack/requests/update_quota.rb +27 -0
- data/lib/fog/compute/openstack/requests/update_server.rb +32 -0
- data/lib/fog/container_infra/openstack.rb +163 -0
- data/lib/fog/container_infra/openstack/models/base.rb +19 -0
- data/lib/fog/container_infra/openstack/models/bay.rb +56 -0
- data/lib/fog/container_infra/openstack/models/bay_model.rb +62 -0
- data/lib/fog/container_infra/openstack/models/bay_models.rb +23 -0
- data/lib/fog/container_infra/openstack/models/bays.rb +23 -0
- data/lib/fog/container_infra/openstack/models/certificate.rb +20 -0
- data/lib/fog/container_infra/openstack/models/certificates.rb +25 -0
- data/lib/fog/container_infra/openstack/models/cluster.rb +56 -0
- data/lib/fog/container_infra/openstack/models/cluster_template.rb +61 -0
- data/lib/fog/container_infra/openstack/models/cluster_templates.rb +24 -0
- data/lib/fog/container_infra/openstack/models/clusters.rb +24 -0
- data/lib/fog/container_infra/openstack/requests/create_bay.rb +27 -0
- data/lib/fog/container_infra/openstack/requests/create_bay_model.rb +56 -0
- data/lib/fog/container_infra/openstack/requests/create_certificate.rb +29 -0
- data/lib/fog/container_infra/openstack/requests/create_cluster.rb +27 -0
- data/lib/fog/container_infra/openstack/requests/create_cluster_template.rb +56 -0
- data/lib/fog/container_infra/openstack/requests/delete_bay.rb +24 -0
- data/lib/fog/container_infra/openstack/requests/delete_bay_model.rb +24 -0
- data/lib/fog/container_infra/openstack/requests/delete_cluster.rb +24 -0
- data/lib/fog/container_infra/openstack/requests/delete_cluster_template.rb +24 -0
- data/lib/fog/container_infra/openstack/requests/get_bay.rb +51 -0
- data/lib/fog/container_infra/openstack/requests/get_bay_model.rb +55 -0
- data/lib/fog/container_infra/openstack/requests/get_certificate.rb +27 -0
- data/lib/fog/container_infra/openstack/requests/get_cluster.rb +41 -0
- data/lib/fog/container_infra/openstack/requests/get_cluster_template.rb +55 -0
- data/lib/fog/container_infra/openstack/requests/list_bay_models.rb +69 -0
- data/lib/fog/container_infra/openstack/requests/list_bays.rb +55 -0
- data/lib/fog/container_infra/openstack/requests/list_cluster_templates.rb +59 -0
- data/lib/fog/container_infra/openstack/requests/list_clusters.rb +37 -0
- data/lib/fog/container_infra/openstack/requests/update_bay.rb +27 -0
- data/lib/fog/container_infra/openstack/requests/update_bay_model.rb +56 -0
- data/lib/fog/container_infra/openstack/requests/update_cluster.rb +27 -0
- data/lib/fog/container_infra/openstack/requests/update_cluster_template.rb +56 -0
- data/lib/fog/dns/openstack.rb +21 -0
- data/lib/fog/dns/openstack/v1.rb +128 -0
- data/lib/fog/dns/openstack/v1/requests/get_quota.rb +26 -0
- data/lib/fog/dns/openstack/v1/requests/list_domains.rb +27 -0
- data/lib/fog/dns/openstack/v1/requests/update_quota.rb +31 -0
- data/lib/fog/dns/openstack/v2.rb +342 -0
- data/lib/fog/dns/openstack/v2/models/pool.rb +21 -0
- data/lib/fog/dns/openstack/v2/models/pools.rb +25 -0
- data/lib/fog/dns/openstack/v2/models/recordset.rb +55 -0
- data/lib/fog/dns/openstack/v2/models/recordsets.rb +30 -0
- data/lib/fog/dns/openstack/v2/models/zone.rb +50 -0
- data/lib/fog/dns/openstack/v2/models/zone_transfer_accept.rb +29 -0
- data/lib/fog/dns/openstack/v2/models/zone_transfer_accepts.rb +25 -0
- data/lib/fog/dns/openstack/v2/models/zone_transfer_request.rb +50 -0
- data/lib/fog/dns/openstack/v2/models/zone_transfer_requests.rb +30 -0
- data/lib/fog/dns/openstack/v2/models/zones.rb +30 -0
- data/lib/fog/dns/openstack/v2/requests/create_recordset.rb +54 -0
- data/lib/fog/dns/openstack/v2/requests/create_zone.rb +49 -0
- data/lib/fog/dns/openstack/v2/requests/create_zone_transfer_accept.rb +35 -0
- data/lib/fog/dns/openstack/v2/requests/create_zone_transfer_request.rb +34 -0
- data/lib/fog/dns/openstack/v2/requests/delete_recordset.rb +36 -0
- data/lib/fog/dns/openstack/v2/requests/delete_zone.rb +35 -0
- data/lib/fog/dns/openstack/v2/requests/delete_zone_transfer_request.rb +26 -0
- data/lib/fog/dns/openstack/v2/requests/get_pool.rb +30 -0
- data/lib/fog/dns/openstack/v2/requests/get_quota.rb +29 -0
- data/lib/fog/dns/openstack/v2/requests/get_recordset.rb +36 -0
- data/lib/fog/dns/openstack/v2/requests/get_zone.rb +30 -0
- data/lib/fog/dns/openstack/v2/requests/get_zone_transfer_accept.rb +28 -0
- data/lib/fog/dns/openstack/v2/requests/get_zone_transfer_request.rb +29 -0
- data/lib/fog/dns/openstack/v2/requests/list_pools.rb +30 -0
- data/lib/fog/dns/openstack/v2/requests/list_recordsets.rb +54 -0
- data/lib/fog/dns/openstack/v2/requests/list_zone_transfer_accepts.rb +27 -0
- data/lib/fog/dns/openstack/v2/requests/list_zone_transfer_requests.rb +27 -0
- data/lib/fog/dns/openstack/v2/requests/list_zones.rb +30 -0
- data/lib/fog/dns/openstack/v2/requests/update_quota.rb +34 -0
- data/lib/fog/dns/openstack/v2/requests/update_recordset.rb +40 -0
- data/lib/fog/dns/openstack/v2/requests/update_zone.rb +39 -0
- data/lib/fog/dns/openstack/v2/requests/update_zone_transfer_request.rb +36 -0
- data/lib/fog/event/openstack.rb +120 -0
- data/lib/fog/event/openstack/models/event.rb +16 -0
- data/lib/fog/event/openstack/models/events.rb +23 -0
- data/lib/fog/event/openstack/requests/get_event.rb +27 -0
- data/lib/fog/event/openstack/requests/list_events.rb +42 -0
- data/lib/fog/identity/openstack.rb +117 -0
- data/lib/fog/identity/openstack/v2.rb +181 -0
- data/lib/fog/identity/openstack/v2/models/ec2_credential.rb +39 -0
- data/lib/fog/identity/openstack/v2/models/ec2_credentials.rb +56 -0
- data/lib/fog/identity/openstack/v2/models/role.rb +53 -0
- data/lib/fog/identity/openstack/v2/models/roles.rb +22 -0
- data/lib/fog/identity/openstack/v2/models/tenant.rb +63 -0
- data/lib/fog/identity/openstack/v2/models/tenants.rb +32 -0
- data/lib/fog/identity/openstack/v2/models/user.rb +69 -0
- data/lib/fog/identity/openstack/v2/models/users.rb +45 -0
- data/lib/fog/identity/openstack/v2/requests/add_user_to_tenant.rb +36 -0
- data/lib/fog/identity/openstack/v2/requests/check_token.rb +22 -0
- data/lib/fog/identity/openstack/v2/requests/create_ec2_credential.rb +59 -0
- data/lib/fog/identity/openstack/v2/requests/create_role.rb +38 -0
- data/lib/fog/identity/openstack/v2/requests/create_tenant.rb +34 -0
- data/lib/fog/identity/openstack/v2/requests/create_user.rb +45 -0
- data/lib/fog/identity/openstack/v2/requests/create_user_role.rb +26 -0
- data/lib/fog/identity/openstack/v2/requests/delete_ec2_credential.rb +43 -0
- data/lib/fog/identity/openstack/v2/requests/delete_role.rb +30 -0
- data/lib/fog/identity/openstack/v2/requests/delete_tenant.rb +33 -0
- data/lib/fog/identity/openstack/v2/requests/delete_user.rb +31 -0
- data/lib/fog/identity/openstack/v2/requests/delete_user_role.rb +25 -0
- data/lib/fog/identity/openstack/v2/requests/get_ec2_credential.rb +50 -0
- data/lib/fog/identity/openstack/v2/requests/get_role.rb +30 -0
- data/lib/fog/identity/openstack/v2/requests/get_tenant.rb +33 -0
- data/lib/fog/identity/openstack/v2/requests/get_tenants_by_id.rb +20 -0
- data/lib/fog/identity/openstack/v2/requests/get_tenants_by_name.rb +20 -0
- data/lib/fog/identity/openstack/v2/requests/get_user_by_id.rb +34 -0
- data/lib/fog/identity/openstack/v2/requests/get_user_by_name.rb +29 -0
- data/lib/fog/identity/openstack/v2/requests/list_ec2_credentials.rb +61 -0
- data/lib/fog/identity/openstack/v2/requests/list_endpoints_for_token.rb +20 -0
- data/lib/fog/identity/openstack/v2/requests/list_roles.rb +34 -0
- data/lib/fog/identity/openstack/v2/requests/list_roles_for_user_on_tenant.rb +32 -0
- data/lib/fog/identity/openstack/v2/requests/list_tenants.rb +53 -0
- data/lib/fog/identity/openstack/v2/requests/list_user_global_roles.rb +20 -0
- data/lib/fog/identity/openstack/v2/requests/list_users.rb +47 -0
- data/lib/fog/identity/openstack/v2/requests/remove_user_from_tenant.rb +22 -0
- data/lib/fog/identity/openstack/v2/requests/set_tenant.rb +21 -0
- data/lib/fog/identity/openstack/v2/requests/update_tenant.rb +30 -0
- data/lib/fog/identity/openstack/v2/requests/update_user.rb +34 -0
- data/lib/fog/identity/openstack/v2/requests/validate_token.rb +22 -0
- data/lib/fog/identity/openstack/v3.rb +162 -0
- data/lib/fog/identity/openstack/v3/models/domain.rb +59 -0
- data/lib/fog/identity/openstack/v3/models/domains.rb +63 -0
- data/lib/fog/identity/openstack/v3/models/endpoint.rb +47 -0
- data/lib/fog/identity/openstack/v3/models/endpoints.rb +27 -0
- data/lib/fog/identity/openstack/v3/models/group.rb +94 -0
- data/lib/fog/identity/openstack/v3/models/groups.rb +32 -0
- data/lib/fog/identity/openstack/v3/models/os_credential.rb +74 -0
- data/lib/fog/identity/openstack/v3/models/os_credentials.rb +32 -0
- data/lib/fog/identity/openstack/v3/models/policies.rb +32 -0
- data/lib/fog/identity/openstack/v3/models/policy.rb +43 -0
- data/lib/fog/identity/openstack/v3/models/project.rb +116 -0
- data/lib/fog/identity/openstack/v3/models/projects.rb +75 -0
- data/lib/fog/identity/openstack/v3/models/role.rb +41 -0
- data/lib/fog/identity/openstack/v3/models/role_assignment.rb +21 -0
- data/lib/fog/identity/openstack/v3/models/role_assignments.rb +25 -0
- data/lib/fog/identity/openstack/v3/models/roles.rb +40 -0
- data/lib/fog/identity/openstack/v3/models/service.rb +48 -0
- data/lib/fog/identity/openstack/v3/models/services.rb +32 -0
- data/lib/fog/identity/openstack/v3/models/token.rb +24 -0
- data/lib/fog/identity/openstack/v3/models/tokens.rb +40 -0
- data/lib/fog/identity/openstack/v3/models/user.rb +82 -0
- data/lib/fog/identity/openstack/v3/models/users.rb +36 -0
- data/lib/fog/identity/openstack/v3/requests/add_user_to_group.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/auth_domains.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/auth_projects.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/check_domain_group_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/check_domain_user_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/check_project_group_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/check_project_user_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/create_domain.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/create_endpoint.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/create_group.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/create_os_credential.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/create_policy.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/create_project.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/create_role.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/create_service.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/create_user.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/delete_domain.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/delete_endpoint.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/delete_group.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/delete_os_credential.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/delete_policy.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/delete_project.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/delete_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/delete_service.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/delete_user.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/get_domain.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/get_endpoint.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/get_group.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/get_os_credential.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/get_policy.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/get_project.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/get_role.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/get_service.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/get_user.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/grant_domain_group_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/grant_domain_user_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/grant_project_group_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/grant_project_user_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/group_user_check.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/list_domain_group_roles.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/list_domain_user_roles.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/list_domains.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/list_endpoints.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/list_group_users.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/list_groups.rb +31 -0
- data/lib/fog/identity/openstack/v3/requests/list_os_credentials.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/list_policies.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/list_project_group_roles.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/list_project_user_roles.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/list_projects.rb +30 -0
- data/lib/fog/identity/openstack/v3/requests/list_role_assignments.rb +38 -0
- data/lib/fog/identity/openstack/v3/requests/list_roles.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/list_services.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/list_user_groups.rb +22 -0
- data/lib/fog/identity/openstack/v3/requests/list_user_projects.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/list_users.rb +23 -0
- data/lib/fog/identity/openstack/v3/requests/remove_user_from_group.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/revoke_domain_group_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/revoke_domain_user_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/revoke_project_group_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/revoke_project_user_role.rb +20 -0
- data/lib/fog/identity/openstack/v3/requests/token_authenticate.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/token_check.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/token_revoke.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/token_validate.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_domain.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_endpoint.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_group.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_os_credential.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_policy.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_project.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_role.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_service.rb +21 -0
- data/lib/fog/identity/openstack/v3/requests/update_user.rb +21 -0
- data/lib/fog/image/openstack.rb +23 -0
- data/lib/fog/image/openstack/v1.rb +133 -0
- data/lib/fog/image/openstack/v1/models/image.rb +78 -0
- data/lib/fog/image/openstack/v1/models/images.rb +106 -0
- data/lib/fog/image/openstack/v1/requests/add_member_to_image.rb +25 -0
- data/lib/fog/image/openstack/v1/requests/create_image.rb +78 -0
- data/lib/fog/image/openstack/v1/requests/delete_image.rb +25 -0
- data/lib/fog/image/openstack/v1/requests/get_image.rb +47 -0
- data/lib/fog/image/openstack/v1/requests/get_image_by_id.rb +44 -0
- data/lib/fog/image/openstack/v1/requests/get_image_members.rb +31 -0
- data/lib/fog/image/openstack/v1/requests/get_shared_images.rb +31 -0
- data/lib/fog/image/openstack/v1/requests/list_public_images.rb +36 -0
- data/lib/fog/image/openstack/v1/requests/list_public_images_detailed.rb +37 -0
- data/lib/fog/image/openstack/v1/requests/remove_member_from_image.rb +25 -0
- data/lib/fog/image/openstack/v1/requests/set_tenant.rb +21 -0
- data/lib/fog/image/openstack/v1/requests/update_image.rb +66 -0
- data/lib/fog/image/openstack/v1/requests/update_image_members.rb +39 -0
- data/lib/fog/image/openstack/v2.rb +141 -0
- data/lib/fog/image/openstack/v2/models/image.rb +214 -0
- data/lib/fog/image/openstack/v2/models/images.rb +66 -0
- data/lib/fog/image/openstack/v2/requests/add_member_to_image.rb +26 -0
- data/lib/fog/image/openstack/v2/requests/add_tag_to_image.rb +25 -0
- data/lib/fog/image/openstack/v2/requests/create_image.rb +51 -0
- data/lib/fog/image/openstack/v2/requests/deactivate_image.rb +25 -0
- data/lib/fog/image/openstack/v2/requests/delete_image.rb +25 -0
- data/lib/fog/image/openstack/v2/requests/download_image.rb +29 -0
- data/lib/fog/image/openstack/v2/requests/get_image.rb +47 -0
- data/lib/fog/image/openstack/v2/requests/get_image_by_id.rb +35 -0
- data/lib/fog/image/openstack/v2/requests/get_image_members.rb +31 -0
- data/lib/fog/image/openstack/v2/requests/get_member_details.rb +33 -0
- data/lib/fog/image/openstack/v2/requests/get_shared_images.rb +31 -0
- data/lib/fog/image/openstack/v2/requests/list_images.rb +36 -0
- data/lib/fog/image/openstack/v2/requests/reactivate_image.rb +25 -0
- data/lib/fog/image/openstack/v2/requests/remove_member_from_image.rb +25 -0
- data/lib/fog/image/openstack/v2/requests/remove_tag_from_image.rb +25 -0
- data/lib/fog/image/openstack/v2/requests/set_tenant.rb +21 -0
- data/lib/fog/image/openstack/v2/requests/update_image.rb +49 -0
- data/lib/fog/image/openstack/v2/requests/update_image_member.rb +34 -0
- data/lib/fog/image/openstack/v2/requests/upload_image.rb +30 -0
- data/lib/fog/introspection/openstack.rb +103 -0
- data/lib/fog/introspection/openstack/models/rules.rb +29 -0
- data/lib/fog/introspection/openstack/models/rules_collection.rb +32 -0
- data/lib/fog/introspection/openstack/requests/abort_introspection.rb +25 -0
- data/lib/fog/introspection/openstack/requests/create_introspection.rb +35 -0
- data/lib/fog/introspection/openstack/requests/create_rules.rb +37 -0
- data/lib/fog/introspection/openstack/requests/delete_rules.rb +23 -0
- data/lib/fog/introspection/openstack/requests/delete_rules_all.rb +23 -0
- data/lib/fog/introspection/openstack/requests/get_introspection.rb +24 -0
- data/lib/fog/introspection/openstack/requests/get_introspection_details.rb +24 -0
- data/lib/fog/introspection/openstack/requests/get_rules.rb +24 -0
- data/lib/fog/introspection/openstack/requests/list_rules.rb +24 -0
- data/lib/fog/key_manager/openstack.rb +151 -0
- data/lib/fog/key_manager/openstack/models/acl.rb +23 -0
- data/lib/fog/key_manager/openstack/models/container.rb +44 -0
- data/lib/fog/key_manager/openstack/models/containers.rb +25 -0
- data/lib/fog/key_manager/openstack/models/secret.rb +53 -0
- data/lib/fog/key_manager/openstack/models/secrets.rb +25 -0
- data/lib/fog/key_manager/openstack/requests/create_container.rb +19 -0
- data/lib/fog/key_manager/openstack/requests/create_secret.rb +19 -0
- data/lib/fog/key_manager/openstack/requests/delete_container.rb +18 -0
- data/lib/fog/key_manager/openstack/requests/delete_container_acl.rb +24 -0
- data/lib/fog/key_manager/openstack/requests/delete_secret.rb +18 -0
- data/lib/fog/key_manager/openstack/requests/delete_secret_acl.rb +24 -0
- data/lib/fog/key_manager/openstack/requests/get_container.rb +18 -0
- data/lib/fog/key_manager/openstack/requests/get_container_acl.rb +31 -0
- data/lib/fog/key_manager/openstack/requests/get_secret.rb +18 -0
- data/lib/fog/key_manager/openstack/requests/get_secret_acl.rb +31 -0
- data/lib/fog/key_manager/openstack/requests/get_secret_metadata.rb +18 -0
- data/lib/fog/key_manager/openstack/requests/get_secret_payload.rb +21 -0
- data/lib/fog/key_manager/openstack/requests/list_containers.rb +19 -0
- data/lib/fog/key_manager/openstack/requests/list_secrets.rb +19 -0
- data/lib/fog/key_manager/openstack/requests/replace_container_acl.rb +27 -0
- data/lib/fog/key_manager/openstack/requests/replace_secret_acl.rb +27 -0
- data/lib/fog/key_manager/openstack/requests/update_container_acl.rb +26 -0
- data/lib/fog/key_manager/openstack/requests/update_secret_acl.rb +26 -0
- data/lib/fog/metering/openstack.rb +132 -0
- data/lib/fog/metering/openstack/models/event.rb +16 -0
- data/lib/fog/metering/openstack/models/events.rb +23 -0
- data/lib/fog/metering/openstack/models/meter.rb +0 -0
- data/lib/fog/metering/openstack/models/meters.rb +0 -0
- data/lib/fog/metering/openstack/models/resource.rb +15 -0
- data/lib/fog/metering/openstack/models/resources.rb +23 -0
- data/lib/fog/metering/openstack/requests/get_event.rb +27 -0
- data/lib/fog/metering/openstack/requests/get_resource.rb +29 -0
- data/lib/fog/metering/openstack/requests/get_samples.rb +52 -0
- data/lib/fog/metering/openstack/requests/get_statistics.rb +52 -0
- data/lib/fog/metering/openstack/requests/list_events.rb +42 -0
- data/lib/fog/metering/openstack/requests/list_meters.rb +46 -0
- data/lib/fog/metering/openstack/requests/list_resources.rb +29 -0
- data/lib/fog/metric/openstack.rb +126 -0
- data/lib/fog/metric/openstack/models/metric.rb +18 -0
- data/lib/fog/metric/openstack/models/metrics.rb +31 -0
- data/lib/fog/metric/openstack/models/resource.rb +16 -0
- data/lib/fog/metric/openstack/models/resources.rb +24 -0
- data/lib/fog/metric/openstack/requests/get_metric.rb +62 -0
- data/lib/fog/metric/openstack/requests/get_metric_measures.rb +38 -0
- data/lib/fog/metric/openstack/requests/get_resource.rb +37 -0
- data/lib/fog/metric/openstack/requests/get_resource_metric_measures.rb +46 -0
- data/lib/fog/metric/openstack/requests/list_metrics.rb +104 -0
- data/lib/fog/metric/openstack/requests/list_resources.rb +70 -0
- data/lib/fog/monitoring/openstack.rb +96 -0
- data/lib/fog/monitoring/openstack/models/alarm.rb +47 -0
- data/lib/fog/monitoring/openstack/models/alarm_count.rb +17 -0
- data/lib/fog/monitoring/openstack/models/alarm_counts.rb +16 -0
- data/lib/fog/monitoring/openstack/models/alarm_definition.rb +57 -0
- data/lib/fog/monitoring/openstack/models/alarm_definitions.rb +42 -0
- data/lib/fog/monitoring/openstack/models/alarm_state.rb +32 -0
- data/lib/fog/monitoring/openstack/models/alarm_states.rb +20 -0
- data/lib/fog/monitoring/openstack/models/alarms.rb +30 -0
- data/lib/fog/monitoring/openstack/models/dimension_value.rb +19 -0
- data/lib/fog/monitoring/openstack/models/dimension_values.rb +16 -0
- data/lib/fog/monitoring/openstack/models/measurement.rb +20 -0
- data/lib/fog/monitoring/openstack/models/measurements.rb +16 -0
- data/lib/fog/monitoring/openstack/models/metric.rb +27 -0
- data/lib/fog/monitoring/openstack/models/metrics.rb +36 -0
- data/lib/fog/monitoring/openstack/models/notification_method.rb +47 -0
- data/lib/fog/monitoring/openstack/models/notification_methods.rb +42 -0
- data/lib/fog/monitoring/openstack/models/statistic.rb +20 -0
- data/lib/fog/monitoring/openstack/models/statistics.rb +16 -0
- data/lib/fog/monitoring/openstack/requests/create_alarm_definition.rb +19 -0
- data/lib/fog/monitoring/openstack/requests/create_metric.rb +29 -0
- data/lib/fog/monitoring/openstack/requests/create_metric_array.rb +19 -0
- data/lib/fog/monitoring/openstack/requests/create_notification_method.rb +19 -0
- data/lib/fog/monitoring/openstack/requests/delete_alarm.rb +18 -0
- data/lib/fog/monitoring/openstack/requests/delete_alarm_definition.rb +18 -0
- data/lib/fog/monitoring/openstack/requests/delete_notification_method.rb +18 -0
- data/lib/fog/monitoring/openstack/requests/find_measurements.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/get_alarm.rb +21 -0
- data/lib/fog/monitoring/openstack/requests/get_alarm_counts.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/get_alarm_definition.rb +18 -0
- data/lib/fog/monitoring/openstack/requests/get_notification_method.rb +18 -0
- data/lib/fog/monitoring/openstack/requests/list_alarm_definitions.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/list_alarm_state_history_for_all_alarms.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/list_alarm_state_history_for_specific_alarm.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/list_alarms.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/list_dimension_values.rb +21 -0
- data/lib/fog/monitoring/openstack/requests/list_metric_names.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/list_metrics.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/list_notification_method_types.rb +21 -0
- data/lib/fog/monitoring/openstack/requests/list_notification_methods.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/list_statistics.rb +22 -0
- data/lib/fog/monitoring/openstack/requests/patch_alarm.rb +19 -0
- data/lib/fog/monitoring/openstack/requests/patch_alarm_definition.rb +19 -0
- data/lib/fog/monitoring/openstack/requests/patch_notification_method.rb +19 -0
- data/lib/fog/monitoring/openstack/requests/put_notification_method.rb +19 -0
- data/lib/fog/monitoring/openstack/requests/update_alarm.rb +19 -0
- data/lib/fog/monitoring/openstack/requests/update_alarm_definition.rb +19 -0
- data/lib/fog/network/openstack.rb +479 -0
- data/lib/fog/network/openstack/models/extension.rb +15 -0
- data/lib/fog/network/openstack/models/extensions.rb +32 -0
- data/lib/fog/network/openstack/models/floating_ip.rb +64 -0
- data/lib/fog/network/openstack/models/floating_ips.rb +32 -0
- data/lib/fog/network/openstack/models/ike_policies.rb +32 -0
- data/lib/fog/network/openstack/models/ike_policy.rb +43 -0
- data/lib/fog/network/openstack/models/ipsec_policies.rb +32 -0
- data/lib/fog/network/openstack/models/ipsec_policy.rb +45 -0
- data/lib/fog/network/openstack/models/ipsec_site_connection.rb +51 -0
- data/lib/fog/network/openstack/models/ipsec_site_connections.rb +33 -0
- data/lib/fog/network/openstack/models/lb_health_monitor.rb +57 -0
- data/lib/fog/network/openstack/models/lb_health_monitors.rb +32 -0
- data/lib/fog/network/openstack/models/lb_member.rb +42 -0
- data/lib/fog/network/openstack/models/lb_members.rb +32 -0
- data/lib/fog/network/openstack/models/lb_pool.rb +67 -0
- data/lib/fog/network/openstack/models/lb_pools.rb +32 -0
- data/lib/fog/network/openstack/models/lb_vip.rb +48 -0
- data/lib/fog/network/openstack/models/lb_vips.rb +32 -0
- data/lib/fog/network/openstack/models/network.rb +43 -0
- data/lib/fog/network/openstack/models/network_ip_availabilities.rb +24 -0
- data/lib/fog/network/openstack/models/network_ip_availability.rb +17 -0
- data/lib/fog/network/openstack/models/networks.rb +32 -0
- data/lib/fog/network/openstack/models/port.rb +42 -0
- data/lib/fog/network/openstack/models/ports.rb +32 -0
- data/lib/fog/network/openstack/models/rbac_policies.rb +33 -0
- data/lib/fog/network/openstack/models/rbac_policy.rb +34 -0
- data/lib/fog/network/openstack/models/router.rb +61 -0
- data/lib/fog/network/openstack/models/routers.rb +32 -0
- data/lib/fog/network/openstack/models/security_group.rb +37 -0
- data/lib/fog/network/openstack/models/security_group_rule.rb +33 -0
- data/lib/fog/network/openstack/models/security_group_rules.rb +32 -0
- data/lib/fog/network/openstack/models/security_groups.rb +32 -0
- data/lib/fog/network/openstack/models/subnet.rb +44 -0
- data/lib/fog/network/openstack/models/subnet_pool.rb +47 -0
- data/lib/fog/network/openstack/models/subnet_pools.rb +33 -0
- data/lib/fog/network/openstack/models/subnets.rb +32 -0
- data/lib/fog/network/openstack/models/vpn_service.rb +42 -0
- data/lib/fog/network/openstack/models/vpn_services.rb +32 -0
- data/lib/fog/network/openstack/requests/add_router_interface.rb +52 -0
- data/lib/fog/network/openstack/requests/associate_floating_ip.rb +47 -0
- data/lib/fog/network/openstack/requests/associate_lb_health_monitor.rb +37 -0
- data/lib/fog/network/openstack/requests/create_floating_ip.rb +45 -0
- data/lib/fog/network/openstack/requests/create_ike_policy.rb +52 -0
- data/lib/fog/network/openstack/requests/create_ipsec_policy.rb +52 -0
- data/lib/fog/network/openstack/requests/create_ipsec_site_connection.rb +65 -0
- data/lib/fog/network/openstack/requests/create_lb_health_monitor.rb +54 -0
- data/lib/fog/network/openstack/requests/create_lb_member.rb +51 -0
- data/lib/fog/network/openstack/requests/create_lb_pool.rb +58 -0
- data/lib/fog/network/openstack/requests/create_lb_vip.rb +58 -0
- data/lib/fog/network/openstack/requests/create_lbaas_healthmonitor.rb +57 -0
- data/lib/fog/network/openstack/requests/create_lbaas_l7policy.rb +50 -0
- data/lib/fog/network/openstack/requests/create_lbaas_l7rule.rb +50 -0
- data/lib/fog/network/openstack/requests/create_lbaas_listener.rb +55 -0
- data/lib/fog/network/openstack/requests/create_lbaas_loadbalancer.rb +52 -0
- data/lib/fog/network/openstack/requests/create_lbaas_pool.rb +53 -0
- data/lib/fog/network/openstack/requests/create_lbaas_pool_member.rb +49 -0
- data/lib/fog/network/openstack/requests/create_network.rb +88 -0
- data/lib/fog/network/openstack/requests/create_port.rb +53 -0
- data/lib/fog/network/openstack/requests/create_rbac_policy.rb +42 -0
- data/lib/fog/network/openstack/requests/create_router.rb +76 -0
- data/lib/fog/network/openstack/requests/create_security_group.rb +92 -0
- data/lib/fog/network/openstack/requests/create_security_group_rule.rb +79 -0
- data/lib/fog/network/openstack/requests/create_subnet.rb +54 -0
- data/lib/fog/network/openstack/requests/create_subnet_pool.rb +56 -0
- data/lib/fog/network/openstack/requests/create_vpn_service.rb +51 -0
- data/lib/fog/network/openstack/requests/delete_floating_ip.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_ike_policy.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_ipsec_policy.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_ipsec_site_connection.rb +29 -0
- data/lib/fog/network/openstack/requests/delete_lb_health_monitor.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lb_member.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lb_pool.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lb_vip.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_healthmonitor.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_l7policy.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_l7rule.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_listener.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_loadbalancer.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_pool.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_lbaas_pool_member.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_network.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_port.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_quota.rb +23 -0
- data/lib/fog/network/openstack/requests/delete_rbac_policy.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_router.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_security_group.rb +32 -0
- data/lib/fog/network/openstack/requests/delete_security_group_rule.rb +32 -0
- data/lib/fog/network/openstack/requests/delete_subnet.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_subnet_pool.rb +28 -0
- data/lib/fog/network/openstack/requests/delete_vpn_service.rb +28 -0
- data/lib/fog/network/openstack/requests/disassociate_floating_ip.rb +47 -0
- data/lib/fog/network/openstack/requests/disassociate_lb_health_monitor.rb +29 -0
- data/lib/fog/network/openstack/requests/get_extension.rb +28 -0
- data/lib/fog/network/openstack/requests/get_floating_ip.rb +39 -0
- data/lib/fog/network/openstack/requests/get_ike_policy.rb +28 -0
- data/lib/fog/network/openstack/requests/get_ipsec_policy.rb +28 -0
- data/lib/fog/network/openstack/requests/get_ipsec_site_connection.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lb_health_monitor.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lb_member.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lb_pool.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lb_pool_stats.rb +33 -0
- data/lib/fog/network/openstack/requests/get_lb_vip.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_healthmonitor.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_l7policy.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_l7rule.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_listener.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_loadbalancer.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_pool.rb +28 -0
- data/lib/fog/network/openstack/requests/get_lbaas_pool_member.rb +28 -0
- data/lib/fog/network/openstack/requests/get_network.rb +28 -0
- data/lib/fog/network/openstack/requests/get_network_ip_availability.rb +28 -0
- data/lib/fog/network/openstack/requests/get_port.rb +51 -0
- data/lib/fog/network/openstack/requests/get_quota.rb +26 -0
- data/lib/fog/network/openstack/requests/get_quotas.rb +26 -0
- data/lib/fog/network/openstack/requests/get_rbac_policy.rb +28 -0
- data/lib/fog/network/openstack/requests/get_router.rb +30 -0
- data/lib/fog/network/openstack/requests/get_security_group.rb +52 -0
- data/lib/fog/network/openstack/requests/get_security_group_rule.rb +47 -0
- data/lib/fog/network/openstack/requests/get_subnet.rb +47 -0
- data/lib/fog/network/openstack/requests/get_subnet_pool.rb +29 -0
- data/lib/fog/network/openstack/requests/get_vpn_service.rb +28 -0
- data/lib/fog/network/openstack/requests/list_extensions.rb +25 -0
- data/lib/fog/network/openstack/requests/list_floating_ips.rb +25 -0
- data/lib/fog/network/openstack/requests/list_ike_policies.rb +25 -0
- data/lib/fog/network/openstack/requests/list_ipsec_policies.rb +25 -0
- data/lib/fog/network/openstack/requests/list_ipsec_site_connections.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lb_health_monitors.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lb_members.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lb_pools.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lb_vips.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lbaas_healthmonitors.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lbaas_l7policies.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lbaas_l7rules.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lbaas_listeners.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lbaas_loadbalancers.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lbaas_pool_members.rb +25 -0
- data/lib/fog/network/openstack/requests/list_lbaas_pools.rb +25 -0
- data/lib/fog/network/openstack/requests/list_network_ip_availabilities.rb +28 -0
- data/lib/fog/network/openstack/requests/list_networks.rb +25 -0
- data/lib/fog/network/openstack/requests/list_ports.rb +25 -0
- data/lib/fog/network/openstack/requests/list_rbac_policies.rb +25 -0
- data/lib/fog/network/openstack/requests/list_routers.rb +25 -0
- data/lib/fog/network/openstack/requests/list_security_group_rules.rb +48 -0
- data/lib/fog/network/openstack/requests/list_security_groups.rb +53 -0
- data/lib/fog/network/openstack/requests/list_subnet_pools.rb +25 -0
- data/lib/fog/network/openstack/requests/list_subnets.rb +25 -0
- data/lib/fog/network/openstack/requests/list_vpn_services.rb +25 -0
- data/lib/fog/network/openstack/requests/remove_router_interface.rb +34 -0
- data/lib/fog/network/openstack/requests/set_tenant.rb +20 -0
- data/lib/fog/network/openstack/requests/update_ike_policy.rb +48 -0
- data/lib/fog/network/openstack/requests/update_ipsec_policy.rb +51 -0
- data/lib/fog/network/openstack/requests/update_ipsec_site_connection.rb +63 -0
- data/lib/fog/network/openstack/requests/update_lb_health_monitor.rb +43 -0
- data/lib/fog/network/openstack/requests/update_lb_member.rb +39 -0
- data/lib/fog/network/openstack/requests/update_lb_pool.rb +40 -0
- data/lib/fog/network/openstack/requests/update_lb_vip.rb +42 -0
- data/lib/fog/network/openstack/requests/update_lbaas_healthmonitor.rb +43 -0
- data/lib/fog/network/openstack/requests/update_lbaas_l7policy.rb +43 -0
- data/lib/fog/network/openstack/requests/update_lbaas_l7rule.rb +42 -0
- data/lib/fog/network/openstack/requests/update_lbaas_listener.rb +44 -0
- data/lib/fog/network/openstack/requests/update_lbaas_loadbalancer.rb +41 -0
- data/lib/fog/network/openstack/requests/update_lbaas_pool.rb +40 -0
- data/lib/fog/network/openstack/requests/update_lbaas_pool_member.rb +39 -0
- data/lib/fog/network/openstack/requests/update_network.rb +58 -0
- data/lib/fog/network/openstack/requests/update_port.rb +44 -0
- data/lib/fog/network/openstack/requests/update_quota.rb +27 -0
- data/lib/fog/network/openstack/requests/update_rbac_policy.rb +41 -0
- data/lib/fog/network/openstack/requests/update_router.rb +71 -0
- data/lib/fog/network/openstack/requests/update_security_group.rb +41 -0
- data/lib/fog/network/openstack/requests/update_subnet.rb +43 -0
- data/lib/fog/network/openstack/requests/update_subnet_pool.rb +46 -0
- data/lib/fog/network/openstack/requests/update_vpn_service.rb +46 -0
- data/lib/fog/nfv/openstack.rb +133 -0
- data/lib/fog/nfv/openstack/models/vnf.rb +58 -0
- data/lib/fog/nfv/openstack/models/vnfd.rb +53 -0
- data/lib/fog/nfv/openstack/models/vnfds.rb +28 -0
- data/lib/fog/nfv/openstack/models/vnfs.rb +28 -0
- data/lib/fog/nfv/openstack/requests/create_vnf.rb +37 -0
- data/lib/fog/nfv/openstack/requests/create_vnfd.rb +35 -0
- data/lib/fog/nfv/openstack/requests/delete_vnf.rb +23 -0
- data/lib/fog/nfv/openstack/requests/delete_vnfd.rb +23 -0
- data/lib/fog/nfv/openstack/requests/get_vnf.rb +24 -0
- data/lib/fog/nfv/openstack/requests/get_vnfd.rb +24 -0
- data/lib/fog/nfv/openstack/requests/list_vnfds.rb +25 -0
- data/lib/fog/nfv/openstack/requests/list_vnfs.rb +25 -0
- data/lib/fog/nfv/openstack/requests/update_vnf.rb +35 -0
- data/lib/fog/openstack.rb +622 -0
- data/lib/fog/openstack/core.rb +218 -0
- data/lib/fog/openstack/errors.rb +42 -0
- data/lib/fog/openstack/models/collection.rb +48 -0
- data/lib/fog/openstack/models/meta_parent.rb +31 -0
- data/lib/fog/openstack/models/model.rb +44 -0
- data/lib/fog/openstack/version.rb +5 -0
- data/lib/fog/orchestration/openstack.rb +156 -0
- data/lib/fog/orchestration/openstack/models/event.rb +18 -0
- data/lib/fog/orchestration/openstack/models/events.rb +31 -0
- data/lib/fog/orchestration/openstack/models/resource.rb +30 -0
- data/lib/fog/orchestration/openstack/models/resource_schemas.rb +15 -0
- data/lib/fog/orchestration/openstack/models/resources.rb +35 -0
- data/lib/fog/orchestration/openstack/models/stack.rb +128 -0
- data/lib/fog/orchestration/openstack/models/stacks.rb +64 -0
- data/lib/fog/orchestration/openstack/models/template.rb +13 -0
- data/lib/fog/orchestration/openstack/models/templates.rb +45 -0
- data/lib/fog/orchestration/openstack/requests/abandon_stack.rb +15 -0
- data/lib/fog/orchestration/openstack/requests/build_info.rb +15 -0
- data/lib/fog/orchestration/openstack/requests/cancel_update.rb +26 -0
- data/lib/fog/orchestration/openstack/requests/create_stack.rb +99 -0
- data/lib/fog/orchestration/openstack/requests/delete_stack.rb +58 -0
- data/lib/fog/orchestration/openstack/requests/get_stack_template.rb +20 -0
- data/lib/fog/orchestration/openstack/requests/list_events.rb +46 -0
- data/lib/fog/orchestration/openstack/requests/list_resource_events.rb +28 -0
- data/lib/fog/orchestration/openstack/requests/list_resource_types.rb +27 -0
- data/lib/fog/orchestration/openstack/requests/list_resources.rb +46 -0
- data/lib/fog/orchestration/openstack/requests/list_stack_data.rb +27 -0
- data/lib/fog/orchestration/openstack/requests/list_stack_data_detailed.rb +49 -0
- data/lib/fog/orchestration/openstack/requests/list_stack_events.rb +27 -0
- data/lib/fog/orchestration/openstack/requests/patch_stack.rb +37 -0
- data/lib/fog/orchestration/openstack/requests/preview_stack.rb +16 -0
- data/lib/fog/orchestration/openstack/requests/show_event_details.rb +26 -0
- data/lib/fog/orchestration/openstack/requests/show_resource_data.rb +26 -0
- data/lib/fog/orchestration/openstack/requests/show_resource_metadata.rb +26 -0
- data/lib/fog/orchestration/openstack/requests/show_resource_schema.rb +15 -0
- data/lib/fog/orchestration/openstack/requests/show_resource_template.rb +20 -0
- data/lib/fog/orchestration/openstack/requests/show_stack_details.rb +26 -0
- data/lib/fog/orchestration/openstack/requests/update_stack.rb +88 -0
- data/lib/fog/orchestration/openstack/requests/validate_template.rb +16 -0
- data/lib/fog/orchestration/util/recursive_hot_file_loader.rb +220 -0
- data/lib/fog/planning/openstack.rb +149 -0
- data/lib/fog/planning/openstack/models/plan.rb +69 -0
- data/lib/fog/planning/openstack/models/plans.rb +31 -0
- data/lib/fog/planning/openstack/models/role.rb +23 -0
- data/lib/fog/planning/openstack/models/roles.rb +16 -0
- data/lib/fog/planning/openstack/requests/add_role_to_plan.rb +40 -0
- data/lib/fog/planning/openstack/requests/create_plan.rb +33 -0
- data/lib/fog/planning/openstack/requests/delete_plan.rb +23 -0
- data/lib/fog/planning/openstack/requests/get_plan.rb +58 -0
- data/lib/fog/planning/openstack/requests/get_plan_templates.rb +28 -0
- data/lib/fog/planning/openstack/requests/list_plans.rb +61 -0
- data/lib/fog/planning/openstack/requests/list_roles.rb +32 -0
- data/lib/fog/planning/openstack/requests/patch_plan.rb +51 -0
- data/lib/fog/planning/openstack/requests/remove_role_from_plan.rb +32 -0
- data/lib/fog/shared_file_system/openstack.rb +389 -0
- data/lib/fog/shared_file_system/openstack/models/availability_zone.rb +15 -0
- data/lib/fog/shared_file_system/openstack/models/availability_zones.rb +16 -0
- data/lib/fog/shared_file_system/openstack/models/network.rb +42 -0
- data/lib/fog/shared_file_system/openstack/models/networks.rb +28 -0
- data/lib/fog/shared_file_system/openstack/models/share.rb +95 -0
- data/lib/fog/shared_file_system/openstack/models/share_access_rule.rb +35 -0
- data/lib/fog/shared_file_system/openstack/models/share_access_rules.rb +30 -0
- data/lib/fog/shared_file_system/openstack/models/share_export_location.rb +16 -0
- data/lib/fog/shared_file_system/openstack/models/share_export_locations.rb +31 -0
- data/lib/fog/shared_file_system/openstack/models/shares.rb +28 -0
- data/lib/fog/shared_file_system/openstack/models/snapshot.rb +45 -0
- data/lib/fog/shared_file_system/openstack/models/snapshots.rb +28 -0
- data/lib/fog/shared_file_system/openstack/requests/add_security_service_to_share_network.rb +28 -0
- data/lib/fog/shared_file_system/openstack/requests/create_security_service.rb +47 -0
- data/lib/fog/shared_file_system/openstack/requests/create_share.rb +49 -0
- data/lib/fog/shared_file_system/openstack/requests/create_share_network.rb +41 -0
- data/lib/fog/shared_file_system/openstack/requests/create_snapshot.rb +46 -0
- data/lib/fog/shared_file_system/openstack/requests/delete_security_service.rb +24 -0
- data/lib/fog/shared_file_system/openstack/requests/delete_share.rb +29 -0
- data/lib/fog/shared_file_system/openstack/requests/delete_share_network.rb +28 -0
- data/lib/fog/shared_file_system/openstack/requests/delete_snapshot.rb +30 -0
- data/lib/fog/shared_file_system/openstack/requests/extend_share.rb +24 -0
- data/lib/fog/shared_file_system/openstack/requests/get_limits.rb +45 -0
- data/lib/fog/shared_file_system/openstack/requests/get_quota.rb +26 -0
- data/lib/fog/shared_file_system/openstack/requests/get_security_service.rb +26 -0
- data/lib/fog/shared_file_system/openstack/requests/get_share.rb +26 -0
- data/lib/fog/shared_file_system/openstack/requests/get_share_export_location.rb +29 -0
- data/lib/fog/shared_file_system/openstack/requests/get_share_network.rb +26 -0
- data/lib/fog/shared_file_system/openstack/requests/get_snapshot.rb +26 -0
- data/lib/fog/shared_file_system/openstack/requests/grant_share_access.rb +34 -0
- data/lib/fog/shared_file_system/openstack/requests/list_availability_zones.rb +24 -0
- data/lib/fog/shared_file_system/openstack/requests/list_security_services.rb +25 -0
- data/lib/fog/shared_file_system/openstack/requests/list_security_services_detail.rb +25 -0
- data/lib/fog/shared_file_system/openstack/requests/list_share_access_rules.rb +29 -0
- data/lib/fog/shared_file_system/openstack/requests/list_share_export_locations.rb +27 -0
- data/lib/fog/shared_file_system/openstack/requests/list_share_networks.rb +25 -0
- data/lib/fog/shared_file_system/openstack/requests/list_share_networks_detail.rb +25 -0
- data/lib/fog/shared_file_system/openstack/requests/list_shares.rb +25 -0
- data/lib/fog/shared_file_system/openstack/requests/list_shares_detail.rb +25 -0
- data/lib/fog/shared_file_system/openstack/requests/list_snapshots.rb +25 -0
- data/lib/fog/shared_file_system/openstack/requests/list_snapshots_detail.rb +25 -0
- data/lib/fog/shared_file_system/openstack/requests/remove_security_service_from_share_network.rb +28 -0
- data/lib/fog/shared_file_system/openstack/requests/revoke_share_access.rb +24 -0
- data/lib/fog/shared_file_system/openstack/requests/share_action.rb +16 -0
- data/lib/fog/shared_file_system/openstack/requests/share_network_action.rb +16 -0
- data/lib/fog/shared_file_system/openstack/requests/shrink_share.rb +24 -0
- data/lib/fog/shared_file_system/openstack/requests/update_quota.rb +30 -0
- data/lib/fog/shared_file_system/openstack/requests/update_security_service.rb +31 -0
- data/lib/fog/shared_file_system/openstack/requests/update_share.rb +39 -0
- data/lib/fog/shared_file_system/openstack/requests/update_share_network.rb +31 -0
- data/lib/fog/shared_file_system/openstack/requests/update_snapshot.rb +31 -0
- data/lib/fog/storage/openstack.rb +177 -0
- data/lib/fog/storage/openstack/models/directories.rb +36 -0
- data/lib/fog/storage/openstack/models/directory.rb +50 -0
- data/lib/fog/storage/openstack/models/file.rb +195 -0
- data/lib/fog/storage/openstack/models/files.rb +95 -0
- data/lib/fog/storage/openstack/requests/copy_object.rb +23 -0
- data/lib/fog/storage/openstack/requests/delete_container.rb +20 -0
- data/lib/fog/storage/openstack/requests/delete_multiple_objects.rb +65 -0
- data/lib/fog/storage/openstack/requests/delete_object.rb +21 -0
- data/lib/fog/storage/openstack/requests/delete_static_large_object.rb +41 -0
- data/lib/fog/storage/openstack/requests/get_container.rb +42 -0
- data/lib/fog/storage/openstack/requests/get_containers.rb +31 -0
- data/lib/fog/storage/openstack/requests/get_object.rb +27 -0
- data/lib/fog/storage/openstack/requests/get_object_http_url.rb +21 -0
- data/lib/fog/storage/openstack/requests/get_object_https_url.rb +81 -0
- data/lib/fog/storage/openstack/requests/head_container.rb +26 -0
- data/lib/fog/storage/openstack/requests/head_containers.rb +23 -0
- data/lib/fog/storage/openstack/requests/head_object.rb +21 -0
- data/lib/fog/storage/openstack/requests/post_object.rb +26 -0
- data/lib/fog/storage/openstack/requests/post_set_meta_temp_url_key.rb +33 -0
- data/lib/fog/storage/openstack/requests/public_url.rb +34 -0
- data/lib/fog/storage/openstack/requests/put_container.rb +24 -0
- data/lib/fog/storage/openstack/requests/put_dynamic_obj_manifest.rb +41 -0
- data/lib/fog/storage/openstack/requests/put_object.rb +65 -0
- data/lib/fog/storage/openstack/requests/put_object_manifest.rb +14 -0
- data/lib/fog/storage/openstack/requests/put_static_obj_manifest.rb +55 -0
- data/lib/fog/volume/openstack.rb +33 -0
- data/lib/fog/volume/openstack/models/availability_zone.rb +10 -0
- data/lib/fog/volume/openstack/models/availability_zones.rb +14 -0
- data/lib/fog/volume/openstack/models/backup.rb +46 -0
- data/lib/fog/volume/openstack/models/backups.rb +26 -0
- data/lib/fog/volume/openstack/models/snapshot.rb +38 -0
- data/lib/fog/volume/openstack/models/snapshots.rb +26 -0
- data/lib/fog/volume/openstack/models/transfer.rb +28 -0
- data/lib/fog/volume/openstack/models/transfers.rb +34 -0
- data/lib/fog/volume/openstack/models/volume.rb +66 -0
- data/lib/fog/volume/openstack/models/volume_type.rb +35 -0
- data/lib/fog/volume/openstack/models/volume_types.rb +22 -0
- data/lib/fog/volume/openstack/models/volumes.rb +35 -0
- data/lib/fog/volume/openstack/requests/accept_transfer.rb +22 -0
- data/lib/fog/volume/openstack/requests/action.rb +16 -0
- data/lib/fog/volume/openstack/requests/create_backup.rb +49 -0
- data/lib/fog/volume/openstack/requests/create_snapshot.rb +18 -0
- data/lib/fog/volume/openstack/requests/create_transfer.rb +25 -0
- data/lib/fog/volume/openstack/requests/create_volume.rb +23 -0
- data/lib/fog/volume/openstack/requests/create_volume_type.rb +41 -0
- data/lib/fog/volume/openstack/requests/delete_backup.rb +23 -0
- data/lib/fog/volume/openstack/requests/delete_metadata.rb +15 -0
- data/lib/fog/volume/openstack/requests/delete_snapshot.rb +23 -0
- data/lib/fog/volume/openstack/requests/delete_snapshot_metadata.rb +15 -0
- data/lib/fog/volume/openstack/requests/delete_transfer.rb +15 -0
- data/lib/fog/volume/openstack/requests/delete_volume.rb +23 -0
- data/lib/fog/volume/openstack/requests/delete_volume_type.rb +23 -0
- data/lib/fog/volume/openstack/requests/extend_volume.rb +25 -0
- data/lib/fog/volume/openstack/requests/get_backup_details.rb +34 -0
- data/lib/fog/volume/openstack/requests/get_quota.rb +26 -0
- data/lib/fog/volume/openstack/requests/get_quota_defaults.rb +26 -0
- data/lib/fog/volume/openstack/requests/get_quota_usage.rb +43 -0
- data/lib/fog/volume/openstack/requests/get_snapshot_details.rb +15 -0
- data/lib/fog/volume/openstack/requests/get_transfer_details.rb +17 -0
- data/lib/fog/volume/openstack/requests/get_volume_details.rb +15 -0
- data/lib/fog/volume/openstack/requests/get_volume_type_details.rb +32 -0
- data/lib/fog/volume/openstack/requests/list_backups.rb +16 -0
- data/lib/fog/volume/openstack/requests/list_backups_detailed.rb +45 -0
- data/lib/fog/volume/openstack/requests/list_snapshots.rb +41 -0
- data/lib/fog/volume/openstack/requests/list_snapshots_detailed.rb +27 -0
- data/lib/fog/volume/openstack/requests/list_transfers.rb +18 -0
- data/lib/fog/volume/openstack/requests/list_transfers_detailed.rb +18 -0
- data/lib/fog/volume/openstack/requests/list_volume_types.rb +41 -0
- data/lib/fog/volume/openstack/requests/list_volumes.rb +30 -0
- data/lib/fog/volume/openstack/requests/list_volumes_detailed.rb +16 -0
- data/lib/fog/volume/openstack/requests/list_zones.rb +32 -0
- data/lib/fog/volume/openstack/requests/replace_metadata.rb +20 -0
- data/lib/fog/volume/openstack/requests/restore_backup.rb +17 -0
- data/lib/fog/volume/openstack/requests/set_tenant.rb +19 -0
- data/lib/fog/volume/openstack/requests/snapshot_action.rb +16 -0
- data/lib/fog/volume/openstack/requests/update_metadata.rb +20 -0
- data/lib/fog/volume/openstack/requests/update_quota.rb +27 -0
- data/lib/fog/volume/openstack/requests/update_snapshot.rb +37 -0
- data/lib/fog/volume/openstack/requests/update_snapshot_metadata.rb +20 -0
- data/lib/fog/volume/openstack/requests/update_volume.rb +25 -0
- data/lib/fog/volume/openstack/requests/update_volume_type.rb +41 -0
- data/lib/fog/volume/openstack/v1.rb +183 -0
- data/lib/fog/volume/openstack/v1/models/availability_zone.rb +15 -0
- data/lib/fog/volume/openstack/v1/models/availability_zones.rb +16 -0
- data/lib/fog/volume/openstack/v1/models/backup.rb +15 -0
- data/lib/fog/volume/openstack/v1/models/backups.rb +16 -0
- data/lib/fog/volume/openstack/v1/models/snapshot.rb +44 -0
- data/lib/fog/volume/openstack/v1/models/snapshots.rb +16 -0
- data/lib/fog/volume/openstack/v1/models/transfer.rb +18 -0
- data/lib/fog/volume/openstack/v1/models/transfers.rb +16 -0
- data/lib/fog/volume/openstack/v1/models/volume.rb +37 -0
- data/lib/fog/volume/openstack/v1/models/volume_type.rb +16 -0
- data/lib/fog/volume/openstack/v1/models/volume_types.rb +16 -0
- data/lib/fog/volume/openstack/v1/models/volumes.rb +16 -0
- data/lib/fog/volume/openstack/v1/requests/accept_transfer.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/action.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/create_backup.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/create_snapshot.rb +45 -0
- data/lib/fog/volume/openstack/v1/requests/create_transfer.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/create_volume.rb +49 -0
- data/lib/fog/volume/openstack/v1/requests/create_volume_type.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/delete_backup.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/delete_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/delete_snapshot.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/delete_snapshot_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/delete_transfer.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/delete_volume.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/delete_volume_type.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/extend_volume.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/get_backup_details.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/get_quota.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/get_quota_defaults.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/get_quota_usage.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/get_snapshot_details.rb +32 -0
- data/lib/fog/volume/openstack/v1/requests/get_transfer_details.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/get_volume_details.rb +35 -0
- data/lib/fog/volume/openstack/v1/requests/get_volume_type_details.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/list_backups.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/list_backups_detailed.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/list_snapshots.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/list_snapshots_detailed.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/list_transfers.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/list_transfers_detailed.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/list_volume_types.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/list_volumes.rb +46 -0
- data/lib/fog/volume/openstack/v1/requests/list_volumes_detailed.rb +46 -0
- data/lib/fog/volume/openstack/v1/requests/list_zones.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/real.rb +11 -0
- data/lib/fog/volume/openstack/v1/requests/real_mock.rb +14 -0
- data/lib/fog/volume/openstack/v1/requests/replace_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/restore_backup.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/set_tenant.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/update_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/update_quota.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/update_snapshot.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/update_snapshot_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v1/requests/update_volume.rb +2 -0
- data/lib/fog/volume/openstack/v2.rb +185 -0
- data/lib/fog/volume/openstack/v2/models/availability_zone.rb +15 -0
- data/lib/fog/volume/openstack/v2/models/availability_zones.rb +16 -0
- data/lib/fog/volume/openstack/v2/models/backup.rb +15 -0
- data/lib/fog/volume/openstack/v2/models/backups.rb +16 -0
- data/lib/fog/volume/openstack/v2/models/snapshot.rb +44 -0
- data/lib/fog/volume/openstack/v2/models/snapshots.rb +16 -0
- data/lib/fog/volume/openstack/v2/models/transfer.rb +18 -0
- data/lib/fog/volume/openstack/v2/models/transfers.rb +16 -0
- data/lib/fog/volume/openstack/v2/models/volume.rb +37 -0
- data/lib/fog/volume/openstack/v2/models/volume_type.rb +16 -0
- data/lib/fog/volume/openstack/v2/models/volume_types.rb +16 -0
- data/lib/fog/volume/openstack/v2/models/volumes.rb +16 -0
- data/lib/fog/volume/openstack/v2/requests/accept_transfer.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/action.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/create_backup.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/create_snapshot.rb +45 -0
- data/lib/fog/volume/openstack/v2/requests/create_transfer.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/create_volume.rb +49 -0
- data/lib/fog/volume/openstack/v2/requests/create_volume_type.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/delete_backup.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/delete_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/delete_snapshot.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/delete_snapshot_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/delete_transfer.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/delete_volume.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/delete_volume_type.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/extend_volume.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/get_backup_details.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/get_quota.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/get_quota_defaults.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/get_quota_usage.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/get_snapshot_details.rb +32 -0
- data/lib/fog/volume/openstack/v2/requests/get_transfer_details.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/get_volume_details.rb +35 -0
- data/lib/fog/volume/openstack/v2/requests/get_volume_type_details.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/list_backups.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/list_backups_detailed.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/list_snapshots.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/list_snapshots_detailed.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/list_transfers.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/list_transfers_detailed.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/list_volume_types.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/list_volumes.rb +46 -0
- data/lib/fog/volume/openstack/v2/requests/list_volumes_detailed.rb +46 -0
- data/lib/fog/volume/openstack/v2/requests/list_zones.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/real.rb +11 -0
- data/lib/fog/volume/openstack/v2/requests/real_mock.rb +14 -0
- data/lib/fog/volume/openstack/v2/requests/replace_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/restore_backup.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/set_tenant.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/snapshot_action.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/update_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/update_quota.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/update_snapshot.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/update_snapshot_metadata.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/update_volume.rb +2 -0
- data/lib/fog/volume/openstack/v2/requests/update_volume_type.rb +2 -0
- data/lib/fog/workflow/openstack.rb +12 -0
- data/lib/fog/workflow/openstack/v2.rb +160 -0
- data/lib/fog/workflow/openstack/v2/requests/create_action.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/create_action_execution.rb +31 -0
- data/lib/fog/workflow/openstack/v2/requests/create_cron_trigger.rb +55 -0
- data/lib/fog/workflow/openstack/v2/requests/create_environment.rb +31 -0
- data/lib/fog/workflow/openstack/v2/requests/create_execution.rb +30 -0
- data/lib/fog/workflow/openstack/v2/requests/create_workbook.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/create_workflow.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/delete_action.rb +25 -0
- data/lib/fog/workflow/openstack/v2/requests/delete_action_execution.rb +25 -0
- data/lib/fog/workflow/openstack/v2/requests/delete_cron_trigger.rb +25 -0
- data/lib/fog/workflow/openstack/v2/requests/delete_environment.rb +25 -0
- data/lib/fog/workflow/openstack/v2/requests/delete_execution.rb +25 -0
- data/lib/fog/workflow/openstack/v2/requests/delete_workbook.rb +25 -0
- data/lib/fog/workflow/openstack/v2/requests/delete_workflow.rb +25 -0
- data/lib/fog/workflow/openstack/v2/requests/get_action.rb +27 -0
- data/lib/fog/workflow/openstack/v2/requests/get_action_execution.rb +26 -0
- data/lib/fog/workflow/openstack/v2/requests/get_cron_trigger.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/get_environment.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/get_execution.rb +26 -0
- data/lib/fog/workflow/openstack/v2/requests/get_task.rb +27 -0
- data/lib/fog/workflow/openstack/v2/requests/get_workbook.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/get_workflow.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/list_action_executions.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/list_actions.rb +30 -0
- data/lib/fog/workflow/openstack/v2/requests/list_cron_triggers.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/list_environments.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/list_executions.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/list_services.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/list_tasks.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/list_workbooks.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/list_workflows.rb +30 -0
- data/lib/fog/workflow/openstack/v2/requests/rerun_task.rb +33 -0
- data/lib/fog/workflow/openstack/v2/requests/update_action.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/update_action_execution.rb +33 -0
- data/lib/fog/workflow/openstack/v2/requests/update_environment.rb +31 -0
- data/lib/fog/workflow/openstack/v2/requests/update_execution.rb +33 -0
- data/lib/fog/workflow/openstack/v2/requests/update_workbook.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/update_workflow.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/validate_action.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/validate_workbook.rb +28 -0
- data/lib/fog/workflow/openstack/v2/requests/validate_workflow.rb +28 -0
- data/playbooks/.gitkeep +0 -0
- data/playbooks/fog-openstack-unittest-spec/run.yaml +57 -0
- data/playbooks/fog-openstack-unittest-test/run.yaml +57 -0
- data/supported.md +56 -0
- metadata +1381 -0
@@ -0,0 +1,56 @@
|
|
1
|
+
require 'fog/openstack/models/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module Compute
|
5
|
+
class OpenStack
|
6
|
+
class KeyPair < Fog::OpenStack::Model
|
7
|
+
identity :name
|
8
|
+
|
9
|
+
attribute :fingerprint
|
10
|
+
attribute :public_key
|
11
|
+
attribute :private_key
|
12
|
+
attribute :user_id
|
13
|
+
attribute :id
|
14
|
+
|
15
|
+
attr_accessor :public_key
|
16
|
+
|
17
|
+
def destroy
|
18
|
+
requires :name
|
19
|
+
|
20
|
+
service.delete_key_pair(name)
|
21
|
+
true
|
22
|
+
end
|
23
|
+
|
24
|
+
def save
|
25
|
+
requires :name
|
26
|
+
|
27
|
+
data = if public_key
|
28
|
+
service.create_key_pair(name, public_key, user_id).body['keypair']
|
29
|
+
else
|
30
|
+
service.create_key_pair(name, nil, user_id).body['keypair']
|
31
|
+
end
|
32
|
+
new_attributes = data.reject { |key, _value| !['fingerprint', 'public_key', 'name', 'private_key', 'user_id'].include?(key) }
|
33
|
+
merge_attributes(new_attributes)
|
34
|
+
true
|
35
|
+
end
|
36
|
+
|
37
|
+
def write(path = "#{ENV['HOME']}/.ssh/fog_#{Fog.credential}_#{name}.pem")
|
38
|
+
if writable?
|
39
|
+
split_private_key = private_key.split(/\n/)
|
40
|
+
File.open(path, "w") do |f|
|
41
|
+
split_private_key.each { |line| f.puts line }
|
42
|
+
f.chmod 0600
|
43
|
+
end
|
44
|
+
"Key file built: #{path}"
|
45
|
+
else
|
46
|
+
"Invalid private key"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
def writable?
|
51
|
+
!!(private_key && ENV.key?('HOME'))
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'fog/openstack/models/collection'
|
2
|
+
require 'fog/compute/openstack/models/key_pair'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Compute
|
6
|
+
class OpenStack
|
7
|
+
class KeyPairs < Fog::OpenStack::Collection
|
8
|
+
model Fog::Compute::OpenStack::KeyPair
|
9
|
+
|
10
|
+
def all(options = {})
|
11
|
+
items = []
|
12
|
+
service.list_key_pairs(options).body['keypairs'].each do |kp|
|
13
|
+
items += kp.values
|
14
|
+
end
|
15
|
+
# TODO: convert to load_response?
|
16
|
+
load(items)
|
17
|
+
end
|
18
|
+
|
19
|
+
def get(key_pair_name)
|
20
|
+
if key_pair_name
|
21
|
+
all.select { |kp| kp.name == key_pair_name }.first
|
22
|
+
end
|
23
|
+
rescue Fog::Compute::OpenStack::NotFound
|
24
|
+
nil
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
require 'fog/openstack/models/collection'
|
2
|
+
require 'fog/openstack/models/meta_parent'
|
3
|
+
require 'fog/compute/openstack/models/metadatum'
|
4
|
+
require 'fog/compute/openstack/models/image'
|
5
|
+
require 'fog/compute/openstack/models/server'
|
6
|
+
|
7
|
+
module Fog
|
8
|
+
module Compute
|
9
|
+
class OpenStack
|
10
|
+
class Metadata < Fog::OpenStack::Collection
|
11
|
+
model Fog::Compute::OpenStack::Metadatum
|
12
|
+
|
13
|
+
include Fog::Compute::OpenStack::MetaParent
|
14
|
+
|
15
|
+
def all
|
16
|
+
requires :parent
|
17
|
+
metadata = service.list_metadata(collection_name, @parent.id).body['metadata']
|
18
|
+
metas = []
|
19
|
+
metadata.each_pair { |k, v| metas << {"key" => k, "value" => v} } unless metadata.nil?
|
20
|
+
# TODO: convert to load_response?
|
21
|
+
load(metas)
|
22
|
+
end
|
23
|
+
|
24
|
+
def get(key)
|
25
|
+
requires :parent
|
26
|
+
data = service.get_metadata(collection_name, @parent.id, key).body["meta"]
|
27
|
+
metas = []
|
28
|
+
data.each_pair { |k, v| metas << {"key" => k, "value" => v} }
|
29
|
+
new(metas[0])
|
30
|
+
rescue Fog::Compute::OpenStack::NotFound
|
31
|
+
nil
|
32
|
+
end
|
33
|
+
|
34
|
+
def update(data = nil)
|
35
|
+
requires :parent
|
36
|
+
service.update_metadata(collection_name, @parent.id, to_hash(data))
|
37
|
+
end
|
38
|
+
|
39
|
+
def set(data = nil)
|
40
|
+
requires :parent
|
41
|
+
service.set_metadata(collection_name, @parent.id, to_hash(data))
|
42
|
+
end
|
43
|
+
|
44
|
+
def new(attributes = {})
|
45
|
+
requires :parent
|
46
|
+
super({:parent => @parent}.merge!(attributes))
|
47
|
+
end
|
48
|
+
|
49
|
+
def to_hash(data = nil)
|
50
|
+
if data.nil?
|
51
|
+
data = {}
|
52
|
+
each do |meta|
|
53
|
+
if meta.kind_of?(Fog::Compute::OpenStack::Metadatum)
|
54
|
+
data.store(meta.key, meta.value)
|
55
|
+
else
|
56
|
+
data.store(meta["key"], meta["value"])
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
data
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'fog/openstack/models/model'
|
2
|
+
require 'fog/openstack/models/meta_parent'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Compute
|
6
|
+
class OpenStack
|
7
|
+
class Metadatum < Fog::OpenStack::Model
|
8
|
+
include Fog::Compute::OpenStack::MetaParent
|
9
|
+
|
10
|
+
identity :key
|
11
|
+
attribute :value
|
12
|
+
|
13
|
+
def destroy
|
14
|
+
requires :identity
|
15
|
+
service.delete_meta(collection_name, @parent.id, key)
|
16
|
+
true
|
17
|
+
end
|
18
|
+
|
19
|
+
def save
|
20
|
+
requires :identity, :value
|
21
|
+
service.update_meta(collection_name, @parent.id, key, value)
|
22
|
+
true
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'fog/openstack/models/collection'
|
2
|
+
require 'fog/compute/openstack/models/network'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Compute
|
6
|
+
class OpenStack
|
7
|
+
class Networks < Fog::OpenStack::Collection
|
8
|
+
model Fog::Compute::OpenStack::Network
|
9
|
+
|
10
|
+
attribute :server
|
11
|
+
|
12
|
+
def all
|
13
|
+
requires :server
|
14
|
+
|
15
|
+
networks = []
|
16
|
+
server.addresses.each_with_index do |address, index|
|
17
|
+
networks << {
|
18
|
+
:id => index + 1,
|
19
|
+
:name => address[0],
|
20
|
+
:addresses => address[1].map { |a| a['addr'] }
|
21
|
+
}
|
22
|
+
end
|
23
|
+
|
24
|
+
# TODO: convert to load_response?
|
25
|
+
load(networks)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'fog/openstack/models/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module Compute
|
5
|
+
class OpenStack
|
6
|
+
class OsInterface < Fog::OpenStack::Model
|
7
|
+
identity :port_id
|
8
|
+
attribute :fixed_ips, :type => :array
|
9
|
+
attribute :mac_addr
|
10
|
+
attribute :net_id
|
11
|
+
attribute :port_state
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'fog/openstack/models/collection'
|
2
|
+
require 'fog/compute/openstack/models/os_interface'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Compute
|
6
|
+
class OpenStack
|
7
|
+
class OsInterfaces < Fog::OpenStack::Collection
|
8
|
+
model Fog::Compute::OpenStack::OsInterface
|
9
|
+
|
10
|
+
attribute :server
|
11
|
+
|
12
|
+
def all
|
13
|
+
requires :server
|
14
|
+
|
15
|
+
data = service.list_os_interfaces(server.id)
|
16
|
+
load_response(data, 'interfaceAttachments')
|
17
|
+
end
|
18
|
+
|
19
|
+
def get(port_id)
|
20
|
+
requires :server
|
21
|
+
|
22
|
+
data = service.get_os_interface(server.id,port_id)
|
23
|
+
load_response(data, 'interfaceAttachment')
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'fog/openstack/models/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module Compute
|
5
|
+
class OpenStack
|
6
|
+
class SecurityGroup < Fog::OpenStack::Model
|
7
|
+
identity :id
|
8
|
+
|
9
|
+
attribute :name
|
10
|
+
attribute :description
|
11
|
+
attribute :security_group_rules, :aliases => "rules"
|
12
|
+
attribute :tenant_id
|
13
|
+
|
14
|
+
def security_group_rules
|
15
|
+
Fog::Compute::OpenStack::SecurityGroupRules.new(:service => service).load(attributes[:security_group_rules])
|
16
|
+
end
|
17
|
+
|
18
|
+
def rules
|
19
|
+
Fog::Logger.deprecation('#rules is deprecated. Use #security_group_rules instead')
|
20
|
+
attributes[:security_group_rules]
|
21
|
+
end
|
22
|
+
|
23
|
+
# no one should be calling this because it doesn't do anything
|
24
|
+
# useful but we deprecated the rules attribute and need to maintain the API
|
25
|
+
def rules=(new_rules)
|
26
|
+
Fog::Logger.deprecation('#rules= is deprecated. Use the Fog::Compute::Openstack::SecurityGroupRules collection to create new rules.')
|
27
|
+
attributes[:security_group_rules] = new_rules
|
28
|
+
end
|
29
|
+
|
30
|
+
def save
|
31
|
+
requires :name, :description
|
32
|
+
data = service.create_security_group(name, description)
|
33
|
+
merge_attributes(data.body['security_group'])
|
34
|
+
true
|
35
|
+
end
|
36
|
+
|
37
|
+
def destroy
|
38
|
+
requires :id
|
39
|
+
service.delete_security_group(id)
|
40
|
+
true
|
41
|
+
end
|
42
|
+
|
43
|
+
def create_security_group_rule(min, max, ip_protocol = "tcp", cidr = "0.0.0.0/0", group_id = nil)
|
44
|
+
Fog::Logger.deprecation('#create_security_group_rule is deprecated. Use the Fog::Compute::Openstack::SecurityGroupRules collection to create new rules.')
|
45
|
+
requires :id
|
46
|
+
service.create_security_group_rule(id, ip_protocol, min, max, cidr, group_id)
|
47
|
+
end
|
48
|
+
|
49
|
+
def delete_security_group_rule(rule_id)
|
50
|
+
Fog::Logger.deprecation('#create_security_group_rule is deprecated. Use the Fog::Compute::Openstack::SecurityGroupRule objects to destroy rules.')
|
51
|
+
service.delete_security_group_rule(rule_id)
|
52
|
+
true
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'fog/openstack/models/model'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module Compute
|
5
|
+
class OpenStack
|
6
|
+
class SecurityGroupRule < Fog::OpenStack::Model
|
7
|
+
identity :id
|
8
|
+
|
9
|
+
attribute :from_port
|
10
|
+
attribute :group
|
11
|
+
attribute :ip_protocol
|
12
|
+
attribute :to_port
|
13
|
+
attribute :parent_group_id
|
14
|
+
attribute :ip_range
|
15
|
+
|
16
|
+
def save
|
17
|
+
requires :ip_protocol, :from_port, :to_port, :parent_group_id
|
18
|
+
cidr = ip_range && ip_range["cidr"]
|
19
|
+
if rule = service.create_security_group_rule(parent_group_id, ip_protocol, from_port, to_port, cidr, group).data[:body]
|
20
|
+
merge_attributes(rule["security_group_rule"])
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def destroy
|
25
|
+
requires :id
|
26
|
+
service.delete_security_group_rule(id)
|
27
|
+
true
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'fog/openstack/models/collection'
|
2
|
+
require 'fog/compute/openstack/models/security_group_rule'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Compute
|
6
|
+
class OpenStack
|
7
|
+
class SecurityGroupRules < Fog::OpenStack::Collection
|
8
|
+
model Fog::Compute::OpenStack::SecurityGroupRule
|
9
|
+
|
10
|
+
def get(security_group_rule_id)
|
11
|
+
if security_group_rule_id
|
12
|
+
body = service.get_security_group_rule(security_group_rule_id).body
|
13
|
+
new(body['security_group_rule'])
|
14
|
+
end
|
15
|
+
rescue Fog::Compute::OpenStack::NotFound
|
16
|
+
nil
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'fog/openstack/models/collection'
|
2
|
+
require 'fog/compute/openstack/models/security_group'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Compute
|
6
|
+
class OpenStack
|
7
|
+
class SecurityGroups < Fog::OpenStack::Collection
|
8
|
+
model Fog::Compute::OpenStack::SecurityGroup
|
9
|
+
|
10
|
+
def all(options = {})
|
11
|
+
load_response(service.list_security_groups(options), 'security_groups')
|
12
|
+
end
|
13
|
+
|
14
|
+
def get(security_group_id)
|
15
|
+
if security_group_id
|
16
|
+
new(service.get_security_group(security_group_id).body['security_group'])
|
17
|
+
end
|
18
|
+
rescue Fog::Compute::OpenStack::NotFound
|
19
|
+
nil
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,410 @@
|
|
1
|
+
require 'fog/compute/models/server'
|
2
|
+
require 'fog/compute/openstack/models/metadata'
|
3
|
+
|
4
|
+
module Fog
|
5
|
+
module Compute
|
6
|
+
class OpenStack
|
7
|
+
class Server < Fog::Compute::Server
|
8
|
+
identity :id
|
9
|
+
attribute :instance_name, :aliases => 'OS-EXT-SRV-ATTR:instance_name'
|
10
|
+
|
11
|
+
attribute :addresses
|
12
|
+
attribute :flavor
|
13
|
+
attribute :host_id, :aliases => 'hostId'
|
14
|
+
attribute :image
|
15
|
+
attribute :metadata
|
16
|
+
attribute :links
|
17
|
+
attribute :name
|
18
|
+
|
19
|
+
# @!attribute [rw] personality
|
20
|
+
# @note This attribute is only used for server creation. This field will be nil on subsequent retrievals.
|
21
|
+
# @return [Hash] Hash containing data to inject into the file system of the cloud server instance during
|
22
|
+
# server creation.
|
23
|
+
# @example To inject fog.txt into file system
|
24
|
+
# :personality => [{ :path => '/root/fog.txt',
|
25
|
+
# :contents => Base64.encode64('Fog was here!')
|
26
|
+
# }]
|
27
|
+
# @see #create
|
28
|
+
# @see http://docs.openstack.org/api/openstack-compute/2/content/Server_Personality-d1e2543.html
|
29
|
+
attribute :personality
|
30
|
+
attribute :progress
|
31
|
+
attribute :accessIPv4
|
32
|
+
attribute :accessIPv6
|
33
|
+
attribute :availability_zone, :aliases => 'OS-EXT-AZ:availability_zone'
|
34
|
+
attribute :user_data_encoded
|
35
|
+
attribute :state, :aliases => 'status'
|
36
|
+
attribute :created, :type => :time
|
37
|
+
attribute :updated, :type => :time
|
38
|
+
|
39
|
+
attribute :tenant_id
|
40
|
+
attribute :user_id
|
41
|
+
attribute :key_name
|
42
|
+
attribute :fault
|
43
|
+
attribute :config_drive
|
44
|
+
attribute :os_dcf_disk_config, :aliases => 'OS-DCF:diskConfig'
|
45
|
+
attribute :os_ext_srv_attr_host, :aliases => 'OS-EXT-SRV-ATTR:host'
|
46
|
+
attribute :os_ext_srv_attr_hypervisor_hostname, :aliases => 'OS-EXT-SRV-ATTR:hypervisor_hostname'
|
47
|
+
attribute :os_ext_srv_attr_instance_name, :aliases => 'OS-EXT-SRV-ATTR:instance_name'
|
48
|
+
attribute :os_ext_sts_power_state, :aliases => 'OS-EXT-STS:power_state'
|
49
|
+
attribute :os_ext_sts_task_state, :aliases => 'OS-EXT-STS:task_state'
|
50
|
+
attribute :os_ext_sts_vm_state, :aliases => 'OS-EXT-STS:vm_state'
|
51
|
+
|
52
|
+
attr_reader :password
|
53
|
+
attr_writer :image_ref, :flavor_ref, :nics, :os_scheduler_hints
|
54
|
+
attr_accessor :block_device_mapping, :block_device_mapping_v2
|
55
|
+
|
56
|
+
# In some cases it's handy to be able to store the project for the record, e.g. swift doesn't contain project
|
57
|
+
# info in the result, so we can track it in this attribute based on what project was used in the request
|
58
|
+
attr_accessor :project
|
59
|
+
|
60
|
+
def initialize(attributes = {})
|
61
|
+
# Old 'connection' is renamed as service and should be used instead
|
62
|
+
prepare_service_value(attributes)
|
63
|
+
|
64
|
+
self.security_groups = attributes.delete(:security_groups)
|
65
|
+
self.min_count = attributes.delete(:min_count)
|
66
|
+
self.max_count = attributes.delete(:max_count)
|
67
|
+
self.nics = attributes.delete(:nics)
|
68
|
+
self.os_scheduler_hints = attributes.delete(:os_scheduler_hints)
|
69
|
+
self.block_device_mapping = attributes.delete(:block_device_mapping)
|
70
|
+
self.block_device_mapping_v2 = attributes.delete(:block_device_mapping_v2)
|
71
|
+
|
72
|
+
super
|
73
|
+
end
|
74
|
+
|
75
|
+
def metadata
|
76
|
+
@metadata ||= begin
|
77
|
+
Fog::Compute::OpenStack::Metadata.new(:service => service,
|
78
|
+
:parent => self)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
def metadata=(new_metadata = {})
|
83
|
+
return unless new_metadata
|
84
|
+
metas = []
|
85
|
+
new_metadata.each { |k, v| metas << {"key" => k, "value" => v} }
|
86
|
+
@metadata = metadata.load(metas)
|
87
|
+
end
|
88
|
+
|
89
|
+
def user_data=(ascii_userdata)
|
90
|
+
self.user_data_encoded = [ascii_userdata].pack('m') if ascii_userdata
|
91
|
+
end
|
92
|
+
|
93
|
+
def destroy
|
94
|
+
requires :id
|
95
|
+
service.delete_server(id)
|
96
|
+
true
|
97
|
+
end
|
98
|
+
|
99
|
+
def images
|
100
|
+
requires :id
|
101
|
+
service.images(:server => self)
|
102
|
+
end
|
103
|
+
|
104
|
+
def all_addresses
|
105
|
+
# currently openstack API does not tell us what is a floating ip vs a fixed ip for the vm listing,
|
106
|
+
# we fall back to get all addresses and filter sadly.
|
107
|
+
# Only includes manually-assigned addresses, not auto-assigned
|
108
|
+
@all_addresses ||= service.list_all_addresses.body["floating_ips"].select { |data| data['instance_id'] == id }
|
109
|
+
end
|
110
|
+
|
111
|
+
def os_interfaces
|
112
|
+
requires :id
|
113
|
+
service.os_interfaces(:server => self)
|
114
|
+
end
|
115
|
+
|
116
|
+
def reload
|
117
|
+
@all_addresses = nil
|
118
|
+
super
|
119
|
+
end
|
120
|
+
|
121
|
+
# returns all ip_addresses for a given instance
|
122
|
+
# this includes both the fixed ip(s) and the floating ip(s)
|
123
|
+
def ip_addresses
|
124
|
+
addresses ? addresses.values.flatten.collect { |x| x['addr'] } : []
|
125
|
+
end
|
126
|
+
|
127
|
+
def floating_ip_addresses
|
128
|
+
all_floating = if addresses
|
129
|
+
flattened_values = addresses.values.flatten
|
130
|
+
flattened_values.select { |d| d["OS-EXT-IPS:type"] == "floating" }.collect { |a| a["addr"] }
|
131
|
+
else
|
132
|
+
[]
|
133
|
+
end
|
134
|
+
|
135
|
+
# Return them all, leading with manually assigned addresses
|
136
|
+
manual = all_addresses.collect { |addr| addr["ip"] }
|
137
|
+
|
138
|
+
all_floating.sort do |a, b|
|
139
|
+
a_manual = manual.include? a
|
140
|
+
b_manual = manual.include? b
|
141
|
+
|
142
|
+
if a_manual && !b_manual
|
143
|
+
-1
|
144
|
+
elsif !a_manual && b_manual
|
145
|
+
1
|
146
|
+
else
|
147
|
+
0
|
148
|
+
end
|
149
|
+
end
|
150
|
+
all_floating.empty? ? manual : all_floating
|
151
|
+
end
|
152
|
+
|
153
|
+
def public_ip_addresses
|
154
|
+
if floating_ip_addresses.empty?
|
155
|
+
if addresses
|
156
|
+
addresses.select { |s| s[0] =~ /public/i }.collect { |a| a[1][0]['addr'] }
|
157
|
+
else
|
158
|
+
[]
|
159
|
+
end
|
160
|
+
else
|
161
|
+
floating_ip_addresses
|
162
|
+
end
|
163
|
+
end
|
164
|
+
|
165
|
+
def floating_ip_address
|
166
|
+
floating_ip_addresses.first
|
167
|
+
end
|
168
|
+
|
169
|
+
def public_ip_address
|
170
|
+
public_ip_addresses.first
|
171
|
+
end
|
172
|
+
|
173
|
+
def private_ip_addresses
|
174
|
+
rfc1918_regexp = /(^10\.|^172\.1[6-9]\.|^172\.2[0-9]\.|^172.3[0-1]\.|^192\.168\.)/
|
175
|
+
almost_private = ip_addresses - public_ip_addresses - floating_ip_addresses
|
176
|
+
almost_private.select { |ip| rfc1918_regexp.match ip }
|
177
|
+
end
|
178
|
+
|
179
|
+
def private_ip_address
|
180
|
+
private_ip_addresses.first
|
181
|
+
end
|
182
|
+
|
183
|
+
attr_reader :image_ref
|
184
|
+
|
185
|
+
attr_writer :image_ref
|
186
|
+
|
187
|
+
attr_reader :flavor_ref
|
188
|
+
|
189
|
+
attr_writer :flavor_ref
|
190
|
+
|
191
|
+
def ready?
|
192
|
+
state == 'ACTIVE'
|
193
|
+
end
|
194
|
+
|
195
|
+
def failed?
|
196
|
+
state == 'ERROR'
|
197
|
+
end
|
198
|
+
|
199
|
+
def change_password(admin_password)
|
200
|
+
requires :id
|
201
|
+
service.change_server_password(id, admin_password)
|
202
|
+
true
|
203
|
+
end
|
204
|
+
|
205
|
+
def rebuild(image_ref, name, admin_pass = nil, metadata = nil, personality = nil)
|
206
|
+
requires :id
|
207
|
+
service.rebuild_server(id, image_ref, name, admin_pass, metadata, personality)
|
208
|
+
true
|
209
|
+
end
|
210
|
+
|
211
|
+
def resize(flavor_ref)
|
212
|
+
requires :id
|
213
|
+
service.resize_server(id, flavor_ref)
|
214
|
+
true
|
215
|
+
end
|
216
|
+
|
217
|
+
def revert_resize
|
218
|
+
requires :id
|
219
|
+
service.revert_resize_server(id)
|
220
|
+
true
|
221
|
+
end
|
222
|
+
|
223
|
+
def confirm_resize
|
224
|
+
requires :id
|
225
|
+
service.confirm_resize_server(id)
|
226
|
+
true
|
227
|
+
end
|
228
|
+
|
229
|
+
def security_groups
|
230
|
+
if id
|
231
|
+
requires :id
|
232
|
+
|
233
|
+
groups = service.list_security_groups(:server_id => id).body['security_groups']
|
234
|
+
|
235
|
+
groups.map do |group|
|
236
|
+
Fog::Compute::OpenStack::SecurityGroup.new group.merge(:service => service)
|
237
|
+
end
|
238
|
+
else
|
239
|
+
service.security_groups.all
|
240
|
+
end
|
241
|
+
end
|
242
|
+
|
243
|
+
attr_writer :security_groups
|
244
|
+
|
245
|
+
def reboot(type = 'SOFT')
|
246
|
+
requires :id
|
247
|
+
service.reboot_server(id, type)
|
248
|
+
true
|
249
|
+
end
|
250
|
+
|
251
|
+
def stop
|
252
|
+
requires :id
|
253
|
+
service.stop_server(id)
|
254
|
+
end
|
255
|
+
|
256
|
+
def pause
|
257
|
+
requires :id
|
258
|
+
service.pause_server(id)
|
259
|
+
end
|
260
|
+
|
261
|
+
def suspend
|
262
|
+
requires :id
|
263
|
+
service.suspend_server(id)
|
264
|
+
end
|
265
|
+
|
266
|
+
def start
|
267
|
+
requires :id
|
268
|
+
|
269
|
+
case state.downcase
|
270
|
+
when 'paused'
|
271
|
+
service.unpause_server(id)
|
272
|
+
when 'suspended'
|
273
|
+
service.resume_server(id)
|
274
|
+
else
|
275
|
+
service.start_server(id)
|
276
|
+
end
|
277
|
+
end
|
278
|
+
|
279
|
+
def shelve
|
280
|
+
requires :id
|
281
|
+
service.shelve_server(id)
|
282
|
+
end
|
283
|
+
|
284
|
+
def unshelve
|
285
|
+
requires :id
|
286
|
+
service.unshelve_server(id)
|
287
|
+
end
|
288
|
+
|
289
|
+
def shelve_offload
|
290
|
+
requires :id
|
291
|
+
service.shelve_offload_server(id)
|
292
|
+
end
|
293
|
+
|
294
|
+
def create_image(name, metadata = {})
|
295
|
+
requires :id
|
296
|
+
service.create_image(id, name, metadata)
|
297
|
+
end
|
298
|
+
|
299
|
+
def console(log_length = nil)
|
300
|
+
requires :id
|
301
|
+
service.get_console_output(id, log_length)
|
302
|
+
end
|
303
|
+
|
304
|
+
def migrate
|
305
|
+
requires :id
|
306
|
+
service.migrate_server(id)
|
307
|
+
end
|
308
|
+
|
309
|
+
def live_migrate(host, block_migration, disk_over_commit)
|
310
|
+
requires :id
|
311
|
+
service.live_migrate_server(id, host, block_migration, disk_over_commit)
|
312
|
+
end
|
313
|
+
|
314
|
+
def evacuate(host = nil, on_shared_storage = nil, admin_password = nil)
|
315
|
+
requires :id
|
316
|
+
service.evacuate_server(id, host, on_shared_storage, admin_password)
|
317
|
+
end
|
318
|
+
|
319
|
+
def associate_address(floating_ip)
|
320
|
+
requires :id
|
321
|
+
service.associate_address id, floating_ip
|
322
|
+
end
|
323
|
+
|
324
|
+
def disassociate_address(floating_ip)
|
325
|
+
requires :id
|
326
|
+
service.disassociate_address id, floating_ip
|
327
|
+
end
|
328
|
+
|
329
|
+
def reset_vm_state(vm_state)
|
330
|
+
requires :id
|
331
|
+
service.reset_server_state id, vm_state
|
332
|
+
end
|
333
|
+
|
334
|
+
attr_writer :min_count
|
335
|
+
|
336
|
+
attr_writer :max_count
|
337
|
+
|
338
|
+
def networks
|
339
|
+
service.networks(:server => self)
|
340
|
+
end
|
341
|
+
|
342
|
+
def volumes
|
343
|
+
requires :id
|
344
|
+
service.volumes.select do |vol|
|
345
|
+
vol.attachments.find { |attachment| attachment["serverId"] == id }
|
346
|
+
end
|
347
|
+
end
|
348
|
+
|
349
|
+
def volume_attachments
|
350
|
+
requires :id
|
351
|
+
service.get_server_volumes(id).body['volumeAttachments']
|
352
|
+
end
|
353
|
+
|
354
|
+
def attach_volume(volume_id, device_name)
|
355
|
+
requires :id
|
356
|
+
service.attach_volume(volume_id, id, device_name)
|
357
|
+
true
|
358
|
+
end
|
359
|
+
|
360
|
+
def detach_volume(volume_id)
|
361
|
+
requires :id
|
362
|
+
service.detach_volume(id, volume_id)
|
363
|
+
true
|
364
|
+
end
|
365
|
+
|
366
|
+
def save
|
367
|
+
raise Fog::Errors::Error, 'Resaving an existing object may create a duplicate' if persisted?
|
368
|
+
requires :flavor_ref, :name
|
369
|
+
requires_one :image_ref, :block_device_mapping, :block_device_mapping_v2
|
370
|
+
options = {
|
371
|
+
'personality' => personality,
|
372
|
+
'accessIPv4' => accessIPv4,
|
373
|
+
'accessIPv6' => accessIPv6,
|
374
|
+
'availability_zone' => availability_zone,
|
375
|
+
'user_data' => user_data_encoded,
|
376
|
+
'key_name' => key_name,
|
377
|
+
'config_drive' => config_drive,
|
378
|
+
'security_groups' => @security_groups,
|
379
|
+
'min_count' => @min_count,
|
380
|
+
'max_count' => @max_count,
|
381
|
+
'nics' => @nics,
|
382
|
+
'os:scheduler_hints' => @os_scheduler_hints,
|
383
|
+
'block_device_mapping' => @block_device_mapping,
|
384
|
+
'block_device_mapping_v2' => @block_device_mapping_v2,
|
385
|
+
}
|
386
|
+
options['metadata'] = metadata.to_hash unless @metadata.nil?
|
387
|
+
options = options.reject { |_key, value| value.nil? }
|
388
|
+
data = service.create_server(name, image_ref, flavor_ref, options)
|
389
|
+
merge_attributes(data.body['server'])
|
390
|
+
true
|
391
|
+
end
|
392
|
+
|
393
|
+
def setup(credentials = {})
|
394
|
+
requires :ssh_ip_address, :identity, :public_key, :username
|
395
|
+
ssh = Fog::SSH.new(ssh_ip_address, username, credentials)
|
396
|
+
ssh.run([
|
397
|
+
%(mkdir .ssh),
|
398
|
+
%(echo "#{public_key}" >> ~/.ssh/authorized_keys),
|
399
|
+
%(passwd -l #{username}),
|
400
|
+
%(echo "#{Fog::JSON.encode(attributes)}" >> ~/attributes.json),
|
401
|
+
%(echo "#{Fog::JSON.encode(metadata)}" >> ~/metadata.json)
|
402
|
+
])
|
403
|
+
rescue Errno::ECONNREFUSED
|
404
|
+
sleep(1)
|
405
|
+
retry
|
406
|
+
end
|
407
|
+
end
|
408
|
+
end
|
409
|
+
end
|
410
|
+
end
|