fog-openstack 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +30 -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 +41 -0
- data/Rakefile +8 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/fog-openstack.gemspec +33 -0
- data/lib/fog/openstack.rb +508 -0
- data/lib/fog/openstack/CHANGELOG.md +47 -0
- data/lib/fog/openstack/baremetal.rb +308 -0
- data/lib/fog/openstack/common.rb +46 -0
- data/lib/fog/openstack/compute.rb +397 -0
- data/lib/fog/openstack/core.rb +114 -0
- data/lib/fog/openstack/docs/compute.md +681 -0
- data/lib/fog/openstack/docs/getting_started.md +81 -0
- data/lib/fog/openstack/docs/orchestration.md +318 -0
- data/lib/fog/openstack/docs/planning.md +270 -0
- data/lib/fog/openstack/docs/storage.md +453 -0
- data/lib/fog/openstack/errors.rb +42 -0
- data/lib/fog/openstack/examples/compute/basics.rb +50 -0
- data/lib/fog/openstack/examples/compute/block_device_mapping_v2.rb +32 -0
- data/lib/fog/openstack/examples/identity/basics.rb +68 -0
- data/lib/fog/openstack/examples/image/upload-test-image.rb +77 -0
- data/lib/fog/openstack/examples/network/network_subnets_routers.rb +62 -0
- data/lib/fog/openstack/examples/planning/basics.rb +53 -0
- data/lib/fog/openstack/examples/storage/set-account-quota.rb +66 -0
- data/lib/fog/openstack/identity.rb +27 -0
- data/lib/fog/openstack/identity_v2.rb +203 -0
- data/lib/fog/openstack/identity_v3.rb +181 -0
- data/lib/fog/openstack/image.rb +22 -0
- data/lib/fog/openstack/image_v1.rb +148 -0
- data/lib/fog/openstack/image_v2.rb +142 -0
- data/lib/fog/openstack/metering.rb +145 -0
- data/lib/fog/openstack/models/baremetal/chassis.rb +49 -0
- data/lib/fog/openstack/models/baremetal/chassis_collection.rb +44 -0
- data/lib/fog/openstack/models/baremetal/driver.rb +24 -0
- data/lib/fog/openstack/models/baremetal/drivers.rb +21 -0
- data/lib/fog/openstack/models/baremetal/node.rb +96 -0
- data/lib/fog/openstack/models/baremetal/nodes.rb +44 -0
- data/lib/fog/openstack/models/baremetal/port.rb +50 -0
- data/lib/fog/openstack/models/baremetal/ports.rb +44 -0
- data/lib/fog/openstack/models/collection.rb +45 -0
- data/lib/fog/openstack/models/compute/address.rb +67 -0
- data/lib/fog/openstack/models/compute/addresses.rb +28 -0
- data/lib/fog/openstack/models/compute/aggregate.rb +58 -0
- data/lib/fog/openstack/models/compute/aggregates.rb +26 -0
- data/lib/fog/openstack/models/compute/availability_zone.rb +14 -0
- data/lib/fog/openstack/models/compute/availability_zones.rb +22 -0
- data/lib/fog/openstack/models/compute/flavor.rb +52 -0
- data/lib/fog/openstack/models/compute/flavors.rb +29 -0
- data/lib/fog/openstack/models/compute/host.rb +28 -0
- data/lib/fog/openstack/models/compute/hosts.rb +28 -0
- data/lib/fog/openstack/models/compute/image.rb +48 -0
- data/lib/fog/openstack/models/compute/images.rb +38 -0
- data/lib/fog/openstack/models/compute/key_pair.rb +56 -0
- data/lib/fog/openstack/models/compute/key_pairs.rb +29 -0
- data/lib/fog/openstack/models/compute/metadata.rb +65 -0
- data/lib/fog/openstack/models/compute/metadatum.rb +27 -0
- data/lib/fog/openstack/models/compute/network.rb +13 -0
- data/lib/fog/openstack/models/compute/networks.rb +30 -0
- data/lib/fog/openstack/models/compute/security_group.rb +57 -0
- data/lib/fog/openstack/models/compute/security_group_rule.rb +32 -0
- data/lib/fog/openstack/models/compute/security_group_rules.rb +21 -0
- data/lib/fog/openstack/models/compute/security_groups.rb +24 -0
- data/lib/fog/openstack/models/compute/server.rb +410 -0
- data/lib/fog/openstack/models/compute/servers.rb +59 -0
- data/lib/fog/openstack/models/compute/service.rb +42 -0
- data/lib/fog/openstack/models/compute/services.rb +23 -0
- data/lib/fog/openstack/models/compute/snapshot.rb +32 -0
- data/lib/fog/openstack/models/compute/snapshots.rb +37 -0
- data/lib/fog/openstack/models/compute/tenant.rb +24 -0
- data/lib/fog/openstack/models/compute/tenants.rb +25 -0
- data/lib/fog/openstack/models/compute/volume.rb +52 -0
- data/lib/fog/openstack/models/compute/volumes.rb +37 -0
- data/lib/fog/openstack/models/identity_v2/ec2_credential.rb +39 -0
- data/lib/fog/openstack/models/identity_v2/ec2_credentials.rb +56 -0
- data/lib/fog/openstack/models/identity_v2/role.rb +52 -0
- data/lib/fog/openstack/models/identity_v2/roles.rb +22 -0
- data/lib/fog/openstack/models/identity_v2/tenant.rb +60 -0
- data/lib/fog/openstack/models/identity_v2/tenants.rb +31 -0
- data/lib/fog/openstack/models/identity_v2/user.rb +69 -0
- data/lib/fog/openstack/models/identity_v2/users.rb +45 -0
- data/lib/fog/openstack/models/identity_v3/domain.rb +49 -0
- data/lib/fog/openstack/models/identity_v3/domains.rb +50 -0
- data/lib/fog/openstack/models/identity_v3/endpoint.rb +46 -0
- data/lib/fog/openstack/models/identity_v3/endpoints.rb +26 -0
- data/lib/fog/openstack/models/identity_v3/group.rb +92 -0
- data/lib/fog/openstack/models/identity_v3/groups.rb +31 -0
- data/lib/fog/openstack/models/identity_v3/os_credential.rb +73 -0
- data/lib/fog/openstack/models/identity_v3/os_credentials.rb +31 -0
- data/lib/fog/openstack/models/identity_v3/policies.rb +31 -0
- data/lib/fog/openstack/models/identity_v3/policy.rb +42 -0
- data/lib/fog/openstack/models/identity_v3/project.rb +106 -0
- data/lib/fog/openstack/models/identity_v3/projects.rb +57 -0
- data/lib/fog/openstack/models/identity_v3/role.rb +40 -0
- data/lib/fog/openstack/models/identity_v3/role_assignment.rb +22 -0
- data/lib/fog/openstack/models/identity_v3/role_assignments.rb +25 -0
- data/lib/fog/openstack/models/identity_v3/roles.rb +39 -0
- data/lib/fog/openstack/models/identity_v3/service.rb +47 -0
- data/lib/fog/openstack/models/identity_v3/services.rb +31 -0
- data/lib/fog/openstack/models/identity_v3/token.rb +26 -0
- data/lib/fog/openstack/models/identity_v3/tokens.rb +41 -0
- data/lib/fog/openstack/models/identity_v3/user.rb +81 -0
- data/lib/fog/openstack/models/identity_v3/users.rb +35 -0
- data/lib/fog/openstack/models/image_v1/image.rb +78 -0
- data/lib/fog/openstack/models/image_v1/images.rb +70 -0
- data/lib/fog/openstack/models/image_v2/image.rb +149 -0
- data/lib/fog/openstack/models/image_v2/images.rb +67 -0
- data/lib/fog/openstack/models/meta_parent.rb +31 -0
- data/lib/fog/openstack/models/metering/meter.rb +0 -0
- data/lib/fog/openstack/models/metering/meters.rb +0 -0
- data/lib/fog/openstack/models/metering/resource.rb +15 -0
- data/lib/fog/openstack/models/metering/resources.rb +23 -0
- data/lib/fog/openstack/models/model.rb +44 -0
- data/lib/fog/openstack/models/network/floating_ip.rb +40 -0
- data/lib/fog/openstack/models/network/floating_ips.rb +32 -0
- data/lib/fog/openstack/models/network/lb_health_monitor.rb +57 -0
- data/lib/fog/openstack/models/network/lb_health_monitors.rb +32 -0
- data/lib/fog/openstack/models/network/lb_member.rb +42 -0
- data/lib/fog/openstack/models/network/lb_members.rb +32 -0
- data/lib/fog/openstack/models/network/lb_pool.rb +67 -0
- data/lib/fog/openstack/models/network/lb_pools.rb +32 -0
- data/lib/fog/openstack/models/network/lb_vip.rb +48 -0
- data/lib/fog/openstack/models/network/lb_vips.rb +32 -0
- data/lib/fog/openstack/models/network/network.rb +43 -0
- data/lib/fog/openstack/models/network/networks.rb +32 -0
- data/lib/fog/openstack/models/network/port.rb +42 -0
- data/lib/fog/openstack/models/network/ports.rb +32 -0
- data/lib/fog/openstack/models/network/router.rb +61 -0
- data/lib/fog/openstack/models/network/routers.rb +32 -0
- data/lib/fog/openstack/models/network/security_group.rb +32 -0
- data/lib/fog/openstack/models/network/security_group_rule.rb +33 -0
- data/lib/fog/openstack/models/network/security_group_rules.rb +32 -0
- data/lib/fog/openstack/models/network/security_groups.rb +32 -0
- data/lib/fog/openstack/models/network/subnet.rb +44 -0
- data/lib/fog/openstack/models/network/subnets.rb +32 -0
- data/lib/fog/openstack/models/orchestration/event.rb +20 -0
- data/lib/fog/openstack/models/orchestration/events.rb +31 -0
- data/lib/fog/openstack/models/orchestration/resource.rb +32 -0
- data/lib/fog/openstack/models/orchestration/resource_schemas.rb +17 -0
- data/lib/fog/openstack/models/orchestration/resources.rb +36 -0
- data/lib/fog/openstack/models/orchestration/stack.rb +120 -0
- data/lib/fog/openstack/models/orchestration/stacks.rb +64 -0
- data/lib/fog/openstack/models/orchestration/template.rb +15 -0
- data/lib/fog/openstack/models/orchestration/templates.rb +45 -0
- data/lib/fog/openstack/models/planning/plan.rb +70 -0
- data/lib/fog/openstack/models/planning/plans.rb +31 -0
- data/lib/fog/openstack/models/planning/role.rb +23 -0
- data/lib/fog/openstack/models/planning/roles.rb +16 -0
- data/lib/fog/openstack/models/storage/directories.rb +36 -0
- data/lib/fog/openstack/models/storage/directory.rb +50 -0
- data/lib/fog/openstack/models/storage/file.rb +185 -0
- data/lib/fog/openstack/models/storage/files.rb +101 -0
- data/lib/fog/openstack/models/volume/availability_zone.rb +10 -0
- data/lib/fog/openstack/models/volume/availability_zones.rb +14 -0
- data/lib/fog/openstack/models/volume/transfer.rb +28 -0
- data/lib/fog/openstack/models/volume/transfers.rb +35 -0
- data/lib/fog/openstack/models/volume/volume.rb +36 -0
- data/lib/fog/openstack/models/volume/volume_type.rb +36 -0
- data/lib/fog/openstack/models/volume/volume_types.rb +22 -0
- data/lib/fog/openstack/models/volume/volumes.rb +35 -0
- data/lib/fog/openstack/models/volume_v1/availability_zone.rb +15 -0
- data/lib/fog/openstack/models/volume_v1/availability_zones.rb +16 -0
- data/lib/fog/openstack/models/volume_v1/transfer.rb +18 -0
- data/lib/fog/openstack/models/volume_v1/transfers.rb +16 -0
- data/lib/fog/openstack/models/volume_v1/volume.rb +26 -0
- data/lib/fog/openstack/models/volume_v1/volume_type.rb +16 -0
- data/lib/fog/openstack/models/volume_v1/volume_types.rb +16 -0
- data/lib/fog/openstack/models/volume_v1/volumes.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/availability_zone.rb +15 -0
- data/lib/fog/openstack/models/volume_v2/availability_zones.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/transfer.rb +19 -0
- data/lib/fog/openstack/models/volume_v2/transfers.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/volume.rb +27 -0
- data/lib/fog/openstack/models/volume_v2/volume_type.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/volume_types.rb +16 -0
- data/lib/fog/openstack/models/volume_v2/volumes.rb +16 -0
- data/lib/fog/openstack/network.rb +293 -0
- data/lib/fog/openstack/orchestration.rb +192 -0
- data/lib/fog/openstack/planning.rb +174 -0
- data/lib/fog/openstack/requests/baremetal/create_chassis.rb +44 -0
- data/lib/fog/openstack/requests/baremetal/create_node.rb +54 -0
- data/lib/fog/openstack/requests/baremetal/create_port.rb +46 -0
- data/lib/fog/openstack/requests/baremetal/delete_chassis.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/delete_node.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/delete_port.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/get_chassis.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/get_driver.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/get_driver_properties.rb +40 -0
- data/lib/fog/openstack/requests/baremetal/get_node.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/get_port.rb +24 -0
- data/lib/fog/openstack/requests/baremetal/list_chassis.rb +42 -0
- data/lib/fog/openstack/requests/baremetal/list_chassis_detailed.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/list_drivers.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/list_nodes.rb +34 -0
- data/lib/fog/openstack/requests/baremetal/list_nodes_detailed.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/list_ports.rb +42 -0
- data/lib/fog/openstack/requests/baremetal/list_ports_detailed.rb +25 -0
- data/lib/fog/openstack/requests/baremetal/patch_chassis.rb +42 -0
- data/lib/fog/openstack/requests/baremetal/patch_node.rb +41 -0
- data/lib/fog/openstack/requests/baremetal/patch_port.rb +41 -0
- data/lib/fog/openstack/requests/baremetal/set_node_maintenance.rb +30 -0
- data/lib/fog/openstack/requests/baremetal/set_node_power_state.rb +35 -0
- data/lib/fog/openstack/requests/baremetal/set_node_provision_state.rb +38 -0
- data/lib/fog/openstack/requests/baremetal/unset_node_maintenance.rb +30 -0
- data/lib/fog/openstack/requests/compute/add_aggregate_host.rb +30 -0
- data/lib/fog/openstack/requests/compute/add_fixed_ip.rb +29 -0
- data/lib/fog/openstack/requests/compute/add_flavor_access.rb +31 -0
- data/lib/fog/openstack/requests/compute/add_security_group.rb +20 -0
- data/lib/fog/openstack/requests/compute/allocate_address.rb +39 -0
- data/lib/fog/openstack/requests/compute/associate_address.rb +30 -0
- data/lib/fog/openstack/requests/compute/attach_volume.rb +38 -0
- data/lib/fog/openstack/requests/compute/boot_from_snapshot.rb +41 -0
- data/lib/fog/openstack/requests/compute/change_server_password.rb +20 -0
- data/lib/fog/openstack/requests/compute/confirm_resize_server.rb +20 -0
- data/lib/fog/openstack/requests/compute/create_aggregate.rb +42 -0
- data/lib/fog/openstack/requests/compute/create_flavor.rb +85 -0
- data/lib/fog/openstack/requests/compute/create_flavor_metadata.rb +38 -0
- data/lib/fog/openstack/requests/compute/create_image.rb +44 -0
- data/lib/fog/openstack/requests/compute/create_key_pair.rb +46 -0
- data/lib/fog/openstack/requests/compute/create_security_group.rb +50 -0
- data/lib/fog/openstack/requests/compute/create_security_group_rule.rb +57 -0
- data/lib/fog/openstack/requests/compute/create_server.rb +185 -0
- data/lib/fog/openstack/requests/compute/create_volume.rb +51 -0
- data/lib/fog/openstack/requests/compute/create_volume_snapshot.rb +51 -0
- data/lib/fog/openstack/requests/compute/delete_aggregate.rb +28 -0
- data/lib/fog/openstack/requests/compute/delete_flavor.rb +28 -0
- data/lib/fog/openstack/requests/compute/delete_image.rb +35 -0
- data/lib/fog/openstack/requests/compute/delete_key_pair.rb +29 -0
- data/lib/fog/openstack/requests/compute/delete_meta.rb +35 -0
- data/lib/fog/openstack/requests/compute/delete_metadata.rb +23 -0
- data/lib/fog/openstack/requests/compute/delete_security_group.rb +31 -0
- data/lib/fog/openstack/requests/compute/delete_security_group_rule.rb +31 -0
- data/lib/fog/openstack/requests/compute/delete_server.rb +34 -0
- data/lib/fog/openstack/requests/compute/delete_service.rb +32 -0
- data/lib/fog/openstack/requests/compute/delete_snapshot.rb +28 -0
- data/lib/fog/openstack/requests/compute/delete_volume.rb +28 -0
- data/lib/fog/openstack/requests/compute/detach_volume.rb +28 -0
- data/lib/fog/openstack/requests/compute/disable_service.rb +37 -0
- data/lib/fog/openstack/requests/compute/disable_service_log_reason.rb +38 -0
- data/lib/fog/openstack/requests/compute/disassociate_address.rb +25 -0
- data/lib/fog/openstack/requests/compute/enable_service.rb +38 -0
- data/lib/fog/openstack/requests/compute/evacuate_server.rb +26 -0
- data/lib/fog/openstack/requests/compute/get_address.rb +38 -0
- data/lib/fog/openstack/requests/compute/get_aggregate.rb +26 -0
- data/lib/fog/openstack/requests/compute/get_console_output.rb +24 -0
- data/lib/fog/openstack/requests/compute/get_flavor_details.rb +39 -0
- data/lib/fog/openstack/requests/compute/get_flavor_metadata.rb +27 -0
- data/lib/fog/openstack/requests/compute/get_host_details.rb +66 -0
- data/lib/fog/openstack/requests/compute/get_hypervisor_statistics.rb +39 -0
- data/lib/fog/openstack/requests/compute/get_image_details.rb +28 -0
- data/lib/fog/openstack/requests/compute/get_limits.rb +89 -0
- data/lib/fog/openstack/requests/compute/get_metadata.rb +24 -0
- data/lib/fog/openstack/requests/compute/get_quota.rb +26 -0
- data/lib/fog/openstack/requests/compute/get_quota_defaults.rb +26 -0
- data/lib/fog/openstack/requests/compute/get_security_group.rb +37 -0
- data/lib/fog/openstack/requests/compute/get_security_group_rule.rb +38 -0
- data/lib/fog/openstack/requests/compute/get_server_details.rb +28 -0
- data/lib/fog/openstack/requests/compute/get_server_password.rb +28 -0
- data/lib/fog/openstack/requests/compute/get_server_volumes.rb +27 -0
- data/lib/fog/openstack/requests/compute/get_snapshot_details.rb +29 -0
- data/lib/fog/openstack/requests/compute/get_usage.rb +51 -0
- data/lib/fog/openstack/requests/compute/get_vnc_console.rb +40 -0
- data/lib/fog/openstack/requests/compute/get_volume_details.rb +28 -0
- data/lib/fog/openstack/requests/compute/list_address_pools.rb +28 -0
- data/lib/fog/openstack/requests/compute/list_addresses.rb +28 -0
- data/lib/fog/openstack/requests/compute/list_aggregates.rb +36 -0
- data/lib/fog/openstack/requests/compute/list_all_addresses.rb +62 -0
- data/lib/fog/openstack/requests/compute/list_flavors.rb +35 -0
- data/lib/fog/openstack/requests/compute/list_flavors_detail.rb +35 -0
- data/lib/fog/openstack/requests/compute/list_hosts.rb +28 -0
- data/lib/fog/openstack/requests/compute/list_images.rb +29 -0
- data/lib/fog/openstack/requests/compute/list_images_detail.rb +36 -0
- data/lib/fog/openstack/requests/compute/list_key_pairs.rb +38 -0
- data/lib/fog/openstack/requests/compute/list_metadata.rb +24 -0
- data/lib/fog/openstack/requests/compute/list_private_addresses.rb +28 -0
- data/lib/fog/openstack/requests/compute/list_public_addresses.rb +28 -0
- data/lib/fog/openstack/requests/compute/list_security_groups.rb +69 -0
- data/lib/fog/openstack/requests/compute/list_servers.rb +36 -0
- data/lib/fog/openstack/requests/compute/list_servers_detail.rb +43 -0
- data/lib/fog/openstack/requests/compute/list_services.rb +66 -0
- data/lib/fog/openstack/requests/compute/list_snapshots.rb +40 -0
- data/lib/fog/openstack/requests/compute/list_snapshots_detail.rb +26 -0
- data/lib/fog/openstack/requests/compute/list_tenants.rb +45 -0
- data/lib/fog/openstack/requests/compute/list_tenants_with_flavor_access.rb +26 -0
- data/lib/fog/openstack/requests/compute/list_usages.rb +41 -0
- data/lib/fog/openstack/requests/compute/list_volumes.rb +39 -0
- data/lib/fog/openstack/requests/compute/list_volumes_detail.rb +25 -0
- data/lib/fog/openstack/requests/compute/list_zones.rb +33 -0
- data/lib/fog/openstack/requests/compute/list_zones_detailed.rb +55 -0
- data/lib/fog/openstack/requests/compute/live_migrate_server.rb +26 -0
- data/lib/fog/openstack/requests/compute/migrate_server.rb +20 -0
- data/lib/fog/openstack/requests/compute/pause_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/reboot_server.rb +20 -0
- data/lib/fog/openstack/requests/compute/rebuild_server.rb +34 -0
- data/lib/fog/openstack/requests/compute/release_address.rb +29 -0
- data/lib/fog/openstack/requests/compute/remove_aggregate_host.rb +30 -0
- data/lib/fog/openstack/requests/compute/remove_fixed_ip.rb +29 -0
- data/lib/fog/openstack/requests/compute/remove_flavor_access.rb +31 -0
- data/lib/fog/openstack/requests/compute/remove_security_group.rb +20 -0
- data/lib/fog/openstack/requests/compute/rescue_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/reset_server_state.rb +20 -0
- data/lib/fog/openstack/requests/compute/resize_server.rb +20 -0
- data/lib/fog/openstack/requests/compute/resume_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/revert_resize_server.rb +26 -0
- data/lib/fog/openstack/requests/compute/server_action.rb +16 -0
- data/lib/fog/openstack/requests/compute/server_actions.rb +38 -0
- data/lib/fog/openstack/requests/compute/server_diagnostics.rb +25 -0
- data/lib/fog/openstack/requests/compute/set_metadata.rb +37 -0
- data/lib/fog/openstack/requests/compute/set_tenant.rb +19 -0
- data/lib/fog/openstack/requests/compute/shelve_offload_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/shelve_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/start_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/stop_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/suspend_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/unpause_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/unshelve_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/update_aggregate.rb +37 -0
- data/lib/fog/openstack/requests/compute/update_aggregate_metadata.rb +30 -0
- data/lib/fog/openstack/requests/compute/update_meta.rb +38 -0
- data/lib/fog/openstack/requests/compute/update_metadata.rb +38 -0
- data/lib/fog/openstack/requests/compute/update_quota.rb +28 -0
- data/lib/fog/openstack/requests/compute/update_server.rb +31 -0
- data/lib/fog/openstack/requests/identity_v2/add_user_to_tenant.rb +36 -0
- data/lib/fog/openstack/requests/identity_v2/check_token.rb +22 -0
- data/lib/fog/openstack/requests/identity_v2/create_ec2_credential.rb +59 -0
- data/lib/fog/openstack/requests/identity_v2/create_role.rb +38 -0
- data/lib/fog/openstack/requests/identity_v2/create_tenant.rb +34 -0
- data/lib/fog/openstack/requests/identity_v2/create_user.rb +45 -0
- data/lib/fog/openstack/requests/identity_v2/create_user_role.rb +26 -0
- data/lib/fog/openstack/requests/identity_v2/delete_ec2_credential.rb +43 -0
- data/lib/fog/openstack/requests/identity_v2/delete_role.rb +30 -0
- data/lib/fog/openstack/requests/identity_v2/delete_tenant.rb +33 -0
- data/lib/fog/openstack/requests/identity_v2/delete_user.rb +30 -0
- data/lib/fog/openstack/requests/identity_v2/delete_user_role.rb +25 -0
- data/lib/fog/openstack/requests/identity_v2/get_ec2_credential.rb +50 -0
- data/lib/fog/openstack/requests/identity_v2/get_role.rb +30 -0
- data/lib/fog/openstack/requests/identity_v2/get_tenant.rb +33 -0
- data/lib/fog/openstack/requests/identity_v2/get_tenants_by_id.rb +20 -0
- data/lib/fog/openstack/requests/identity_v2/get_tenants_by_name.rb +20 -0
- data/lib/fog/openstack/requests/identity_v2/get_user_by_id.rb +34 -0
- data/lib/fog/openstack/requests/identity_v2/get_user_by_name.rb +29 -0
- data/lib/fog/openstack/requests/identity_v2/list_ec2_credentials.rb +61 -0
- data/lib/fog/openstack/requests/identity_v2/list_endpoints_for_token.rb +20 -0
- data/lib/fog/openstack/requests/identity_v2/list_roles.rb +34 -0
- data/lib/fog/openstack/requests/identity_v2/list_roles_for_user_on_tenant.rb +32 -0
- data/lib/fog/openstack/requests/identity_v2/list_tenants.rb +53 -0
- data/lib/fog/openstack/requests/identity_v2/list_user_global_roles.rb +20 -0
- data/lib/fog/openstack/requests/identity_v2/list_users.rb +47 -0
- data/lib/fog/openstack/requests/identity_v2/remove_user_from_tenant.rb +22 -0
- data/lib/fog/openstack/requests/identity_v2/set_tenant.rb +21 -0
- data/lib/fog/openstack/requests/identity_v2/update_tenant.rb +30 -0
- data/lib/fog/openstack/requests/identity_v2/update_user.rb +34 -0
- data/lib/fog/openstack/requests/identity_v2/validate_token.rb +22 -0
- data/lib/fog/openstack/requests/identity_v3/add_user_to_group.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/auth_domains.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/auth_projects.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/check_domain_group_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/check_domain_user_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/check_project_group_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/check_project_user_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/create_domain.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/create_endpoint.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/create_group.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/create_os_credential.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/create_policy.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/create_project.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/create_role.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/create_service.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/create_user.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/delete_domain.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/delete_endpoint.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/delete_group.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/delete_os_credential.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/delete_policy.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/delete_project.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/delete_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/delete_service.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/delete_user.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/get_domain.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/get_endpoint.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/get_group.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/get_os_credential.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/get_policy.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/get_project.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/get_role.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/get_service.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/get_user.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/grant_domain_group_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/grant_domain_user_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/grant_project_group_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/grant_project_user_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/group_user_check.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/list_domain_group_roles.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/list_domain_user_roles.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/list_domains.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/list_endpoints.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/list_group_users.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/list_groups.rb +32 -0
- data/lib/fog/openstack/requests/identity_v3/list_os_credentials.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/list_policies.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/list_project_group_roles.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/list_project_user_roles.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/list_projects.rb +31 -0
- data/lib/fog/openstack/requests/identity_v3/list_role_assignments.rb +39 -0
- data/lib/fog/openstack/requests/identity_v3/list_roles.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/list_services.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/list_user_groups.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/list_user_projects.rb +23 -0
- data/lib/fog/openstack/requests/identity_v3/list_users.rb +24 -0
- data/lib/fog/openstack/requests/identity_v3/remove_user_from_group.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/revoke_domain_group_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/revoke_domain_user_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/revoke_project_group_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/revoke_project_user_role.rb +20 -0
- data/lib/fog/openstack/requests/identity_v3/token_authenticate.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/token_check.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/token_revoke.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/token_validate.rb +22 -0
- data/lib/fog/openstack/requests/identity_v3/update_domain.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/update_endpoint.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/update_group.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/update_os_credential.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/update_policy.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/update_project.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/update_role.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/update_service.rb +21 -0
- data/lib/fog/openstack/requests/identity_v3/update_user.rb +21 -0
- data/lib/fog/openstack/requests/image_v1/add_member_to_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v1/create_image.rb +78 -0
- data/lib/fog/openstack/requests/image_v1/delete_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v1/get_image.rb +47 -0
- data/lib/fog/openstack/requests/image_v1/get_image_by_id.rb +34 -0
- data/lib/fog/openstack/requests/image_v1/get_image_members.rb +31 -0
- data/lib/fog/openstack/requests/image_v1/get_shared_images.rb +31 -0
- data/lib/fog/openstack/requests/image_v1/list_public_images.rb +35 -0
- data/lib/fog/openstack/requests/image_v1/list_public_images_detailed.rb +37 -0
- data/lib/fog/openstack/requests/image_v1/remove_member_from_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v1/set_tenant.rb +21 -0
- data/lib/fog/openstack/requests/image_v1/update_image.rb +66 -0
- data/lib/fog/openstack/requests/image_v1/update_image_members.rb +39 -0
- data/lib/fog/openstack/requests/image_v2/add_member_to_image.rb +26 -0
- data/lib/fog/openstack/requests/image_v2/add_tag_to_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/create_image.rb +54 -0
- data/lib/fog/openstack/requests/image_v2/deactivate_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/delete_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/download_image.rb +29 -0
- data/lib/fog/openstack/requests/image_v2/get_image.rb +47 -0
- data/lib/fog/openstack/requests/image_v2/get_image_by_id.rb +34 -0
- data/lib/fog/openstack/requests/image_v2/get_image_members.rb +31 -0
- data/lib/fog/openstack/requests/image_v2/get_member_details.rb +33 -0
- data/lib/fog/openstack/requests/image_v2/get_shared_images.rb +31 -0
- data/lib/fog/openstack/requests/image_v2/list_images.rb +35 -0
- data/lib/fog/openstack/requests/image_v2/reactivate_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/remove_member_from_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/remove_tag_from_image.rb +25 -0
- data/lib/fog/openstack/requests/image_v2/set_tenant.rb +21 -0
- data/lib/fog/openstack/requests/image_v2/update_image.rb +49 -0
- data/lib/fog/openstack/requests/image_v2/update_image_member.rb +34 -0
- data/lib/fog/openstack/requests/image_v2/upload_image.rb +30 -0
- data/lib/fog/openstack/requests/metering/get_resource.rb +28 -0
- data/lib/fog/openstack/requests/metering/get_samples.rb +50 -0
- data/lib/fog/openstack/requests/metering/get_statistics.rb +51 -0
- data/lib/fog/openstack/requests/metering/list_meters.rb +45 -0
- data/lib/fog/openstack/requests/metering/list_resources.rb +28 -0
- data/lib/fog/openstack/requests/network/add_router_interface.rb +54 -0
- data/lib/fog/openstack/requests/network/associate_floating_ip.rb +47 -0
- data/lib/fog/openstack/requests/network/associate_lb_health_monitor.rb +37 -0
- data/lib/fog/openstack/requests/network/create_floating_ip.rb +45 -0
- data/lib/fog/openstack/requests/network/create_lb_health_monitor.rb +54 -0
- data/lib/fog/openstack/requests/network/create_lb_member.rb +51 -0
- data/lib/fog/openstack/requests/network/create_lb_pool.rb +58 -0
- data/lib/fog/openstack/requests/network/create_lb_vip.rb +58 -0
- data/lib/fog/openstack/requests/network/create_network.rb +97 -0
- data/lib/fog/openstack/requests/network/create_port.rb +53 -0
- data/lib/fog/openstack/requests/network/create_router.rb +76 -0
- data/lib/fog/openstack/requests/network/create_security_group.rb +94 -0
- data/lib/fog/openstack/requests/network/create_security_group_rule.rb +79 -0
- data/lib/fog/openstack/requests/network/create_subnet.rb +54 -0
- data/lib/fog/openstack/requests/network/delete_floating_ip.rb +28 -0
- data/lib/fog/openstack/requests/network/delete_lb_health_monitor.rb +28 -0
- data/lib/fog/openstack/requests/network/delete_lb_member.rb +28 -0
- data/lib/fog/openstack/requests/network/delete_lb_pool.rb +28 -0
- data/lib/fog/openstack/requests/network/delete_lb_vip.rb +28 -0
- data/lib/fog/openstack/requests/network/delete_network.rb +28 -0
- data/lib/fog/openstack/requests/network/delete_port.rb +28 -0
- data/lib/fog/openstack/requests/network/delete_quota.rb +23 -0
- data/lib/fog/openstack/requests/network/delete_router.rb +28 -0
- data/lib/fog/openstack/requests/network/delete_security_group.rb +32 -0
- data/lib/fog/openstack/requests/network/delete_security_group_rule.rb +32 -0
- data/lib/fog/openstack/requests/network/delete_subnet.rb +28 -0
- data/lib/fog/openstack/requests/network/disassociate_floating_ip.rb +47 -0
- data/lib/fog/openstack/requests/network/disassociate_lb_health_monitor.rb +29 -0
- data/lib/fog/openstack/requests/network/get_floating_ip.rb +39 -0
- data/lib/fog/openstack/requests/network/get_lb_health_monitor.rb +28 -0
- data/lib/fog/openstack/requests/network/get_lb_member.rb +28 -0
- data/lib/fog/openstack/requests/network/get_lb_pool.rb +28 -0
- data/lib/fog/openstack/requests/network/get_lb_pool_stats.rb +33 -0
- data/lib/fog/openstack/requests/network/get_lb_vip.rb +28 -0
- data/lib/fog/openstack/requests/network/get_network.rb +40 -0
- data/lib/fog/openstack/requests/network/get_port.rb +51 -0
- data/lib/fog/openstack/requests/network/get_quota.rb +26 -0
- data/lib/fog/openstack/requests/network/get_quotas.rb +26 -0
- data/lib/fog/openstack/requests/network/get_router.rb +30 -0
- data/lib/fog/openstack/requests/network/get_security_group.rb +52 -0
- data/lib/fog/openstack/requests/network/get_security_group_rule.rb +47 -0
- data/lib/fog/openstack/requests/network/get_subnet.rb +47 -0
- data/lib/fog/openstack/requests/network/list_floating_ips.rb +25 -0
- data/lib/fog/openstack/requests/network/list_lb_health_monitors.rb +25 -0
- data/lib/fog/openstack/requests/network/list_lb_members.rb +25 -0
- data/lib/fog/openstack/requests/network/list_lb_pools.rb +25 -0
- data/lib/fog/openstack/requests/network/list_lb_vips.rb +25 -0
- data/lib/fog/openstack/requests/network/list_networks.rb +25 -0
- data/lib/fog/openstack/requests/network/list_ports.rb +25 -0
- data/lib/fog/openstack/requests/network/list_routers.rb +25 -0
- data/lib/fog/openstack/requests/network/list_security_group_rules.rb +48 -0
- data/lib/fog/openstack/requests/network/list_security_groups.rb +53 -0
- data/lib/fog/openstack/requests/network/list_subnets.rb +25 -0
- data/lib/fog/openstack/requests/network/remove_router_interface.rb +34 -0
- data/lib/fog/openstack/requests/network/set_tenant.rb +20 -0
- data/lib/fog/openstack/requests/network/update_lb_health_monitor.rb +43 -0
- data/lib/fog/openstack/requests/network/update_lb_member.rb +39 -0
- data/lib/fog/openstack/requests/network/update_lb_pool.rb +40 -0
- data/lib/fog/openstack/requests/network/update_lb_vip.rb +42 -0
- data/lib/fog/openstack/requests/network/update_network.rb +39 -0
- data/lib/fog/openstack/requests/network/update_port.rb +43 -0
- data/lib/fog/openstack/requests/network/update_quota.rb +27 -0
- data/lib/fog/openstack/requests/network/update_router.rb +69 -0
- data/lib/fog/openstack/requests/network/update_subnet.rb +43 -0
- data/lib/fog/openstack/requests/orchestration/abandon_stack.rb +15 -0
- data/lib/fog/openstack/requests/orchestration/build_info.rb +15 -0
- data/lib/fog/openstack/requests/orchestration/create_stack.rb +75 -0
- data/lib/fog/openstack/requests/orchestration/delete_stack.rb +58 -0
- data/lib/fog/openstack/requests/orchestration/get_stack_template.rb +20 -0
- data/lib/fog/openstack/requests/orchestration/list_events.rb +46 -0
- data/lib/fog/openstack/requests/orchestration/list_resource_events.rb +28 -0
- data/lib/fog/openstack/requests/orchestration/list_resource_types.rb +27 -0
- data/lib/fog/openstack/requests/orchestration/list_resources.rb +46 -0
- data/lib/fog/openstack/requests/orchestration/list_stack_data.rb +27 -0
- data/lib/fog/openstack/requests/orchestration/list_stack_data_detailed.rb +49 -0
- data/lib/fog/openstack/requests/orchestration/list_stack_events.rb +27 -0
- data/lib/fog/openstack/requests/orchestration/patch_stack.rb +37 -0
- data/lib/fog/openstack/requests/orchestration/preview_stack.rb +16 -0
- data/lib/fog/openstack/requests/orchestration/show_event_details.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/show_resource_data.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/show_resource_metadata.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/show_resource_schema.rb +15 -0
- data/lib/fog/openstack/requests/orchestration/show_resource_template.rb +20 -0
- data/lib/fog/openstack/requests/orchestration/show_stack_details.rb +26 -0
- data/lib/fog/openstack/requests/orchestration/update_stack.rb +66 -0
- data/lib/fog/openstack/requests/orchestration/validate_template.rb +16 -0
- data/lib/fog/openstack/requests/planning/add_role_to_plan.rb +40 -0
- data/lib/fog/openstack/requests/planning/create_plan.rb +33 -0
- data/lib/fog/openstack/requests/planning/delete_plan.rb +23 -0
- data/lib/fog/openstack/requests/planning/get_plan.rb +58 -0
- data/lib/fog/openstack/requests/planning/get_plan_templates.rb +28 -0
- data/lib/fog/openstack/requests/planning/list_plans.rb +61 -0
- data/lib/fog/openstack/requests/planning/list_roles.rb +32 -0
- data/lib/fog/openstack/requests/planning/patch_plan.rb +51 -0
- data/lib/fog/openstack/requests/planning/remove_role_from_plan.rb +32 -0
- data/lib/fog/openstack/requests/storage/copy_object.rb +25 -0
- data/lib/fog/openstack/requests/storage/delete_container.rb +20 -0
- data/lib/fog/openstack/requests/storage/delete_multiple_objects.rb +65 -0
- data/lib/fog/openstack/requests/storage/delete_object.rb +21 -0
- data/lib/fog/openstack/requests/storage/delete_static_large_object.rb +41 -0
- data/lib/fog/openstack/requests/storage/get_container.rb +42 -0
- data/lib/fog/openstack/requests/storage/get_containers.rb +31 -0
- data/lib/fog/openstack/requests/storage/get_object.rb +27 -0
- data/lib/fog/openstack/requests/storage/get_object_http_url.rb +21 -0
- data/lib/fog/openstack/requests/storage/get_object_https_url.rb +81 -0
- data/lib/fog/openstack/requests/storage/head_container.rb +26 -0
- data/lib/fog/openstack/requests/storage/head_containers.rb +23 -0
- data/lib/fog/openstack/requests/storage/head_object.rb +21 -0
- data/lib/fog/openstack/requests/storage/post_set_meta_temp_url_key.rb +33 -0
- data/lib/fog/openstack/requests/storage/public_url.rb +28 -0
- data/lib/fog/openstack/requests/storage/put_container.rb +24 -0
- data/lib/fog/openstack/requests/storage/put_dynamic_obj_manifest.rb +41 -0
- data/lib/fog/openstack/requests/storage/put_object.rb +41 -0
- data/lib/fog/openstack/requests/storage/put_object_manifest.rb +14 -0
- data/lib/fog/openstack/requests/storage/put_static_obj_manifest.rb +55 -0
- data/lib/fog/openstack/requests/volume/accept_transfer.rb +22 -0
- data/lib/fog/openstack/requests/volume/create_transfer.rb +25 -0
- data/lib/fog/openstack/requests/volume/create_volume.rb +22 -0
- data/lib/fog/openstack/requests/volume/create_volume_snapshot.rb +26 -0
- data/lib/fog/openstack/requests/volume/create_volume_type.rb +41 -0
- data/lib/fog/openstack/requests/volume/delete_snapshot.rb +23 -0
- data/lib/fog/openstack/requests/volume/delete_transfer.rb +15 -0
- data/lib/fog/openstack/requests/volume/delete_volume.rb +23 -0
- data/lib/fog/openstack/requests/volume/delete_volume_type.rb +23 -0
- data/lib/fog/openstack/requests/volume/extend_volume.rb +25 -0
- data/lib/fog/openstack/requests/volume/get_quota.rb +26 -0
- data/lib/fog/openstack/requests/volume/get_quota_defaults.rb +26 -0
- data/lib/fog/openstack/requests/volume/get_quota_usage.rb +44 -0
- data/lib/fog/openstack/requests/volume/get_snapshot_details.rb +15 -0
- data/lib/fog/openstack/requests/volume/get_transfer_details.rb +17 -0
- data/lib/fog/openstack/requests/volume/get_volume_details.rb +16 -0
- data/lib/fog/openstack/requests/volume/get_volume_type_details.rb +32 -0
- data/lib/fog/openstack/requests/volume/list_snapshots.rb +41 -0
- data/lib/fog/openstack/requests/volume/list_snapshots_detailed.rb +27 -0
- data/lib/fog/openstack/requests/volume/list_transfers.rb +18 -0
- data/lib/fog/openstack/requests/volume/list_transfers_detailed.rb +18 -0
- data/lib/fog/openstack/requests/volume/list_volume_types.rb +41 -0
- data/lib/fog/openstack/requests/volume/list_volumes.rb +30 -0
- data/lib/fog/openstack/requests/volume/list_volumes_detailed.rb +16 -0
- data/lib/fog/openstack/requests/volume/list_zones.rb +32 -0
- data/lib/fog/openstack/requests/volume/set_tenant.rb +19 -0
- data/lib/fog/openstack/requests/volume/update_quota.rb +28 -0
- data/lib/fog/openstack/requests/volume/update_volume_type.rb +41 -0
- data/lib/fog/openstack/requests/volume_v1/accept_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/create_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/create_volume.rb +49 -0
- data/lib/fog/openstack/requests/volume_v1/create_volume_snapshot.rb +44 -0
- data/lib/fog/openstack/requests/volume_v1/create_volume_type.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/delete_snapshot.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/delete_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/delete_volume.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/delete_volume_type.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/extend_volume.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_quota.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_quota_defaults.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_quota_usage.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_snapshot_details.rb +32 -0
- data/lib/fog/openstack/requests/volume_v1/get_transfer_details.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/get_volume_details.rb +35 -0
- data/lib/fog/openstack/requests/volume_v1/get_volume_type_details.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_snapshots.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_snapshots_detailed.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_transfers.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_transfers_detailed.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_volume_types.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/list_volumes.rb +46 -0
- data/lib/fog/openstack/requests/volume_v1/list_volumes_detailed.rb +46 -0
- data/lib/fog/openstack/requests/volume_v1/list_zones.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/real.rb +11 -0
- data/lib/fog/openstack/requests/volume_v1/real_mock.rb +14 -0
- data/lib/fog/openstack/requests/volume_v1/set_tenant.rb +2 -0
- data/lib/fog/openstack/requests/volume_v1/update_quota.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/accept_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/create_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/create_volume.rb +49 -0
- data/lib/fog/openstack/requests/volume_v2/create_volume_snapshot.rb +43 -0
- data/lib/fog/openstack/requests/volume_v2/create_volume_type.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/delete_snapshot.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/delete_transfer.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/delete_volume.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/delete_volume_type.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/extend_volume.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_quota.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_quota_defaults.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_quota_usage.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_snapshot_details.rb +32 -0
- data/lib/fog/openstack/requests/volume_v2/get_transfer_details.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/get_volume_details.rb +35 -0
- data/lib/fog/openstack/requests/volume_v2/get_volume_type_details.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_snapshots.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_snapshots_detailed.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_transfers.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_transfers_detailed.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_volume_types.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/list_volumes.rb +46 -0
- data/lib/fog/openstack/requests/volume_v2/list_volumes_detailed.rb +46 -0
- data/lib/fog/openstack/requests/volume_v2/list_zones.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/real.rb +11 -0
- data/lib/fog/openstack/requests/volume_v2/real_mock.rb +14 -0
- data/lib/fog/openstack/requests/volume_v2/set_tenant.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/update_quota.rb +2 -0
- data/lib/fog/openstack/requests/volume_v2/update_volume_type.rb +2 -0
- data/lib/fog/openstack/storage.rb +181 -0
- data/lib/fog/openstack/version.rb +5 -0
- data/lib/fog/openstack/volume.rb +31 -0
- data/lib/fog/openstack/volume_v1.rb +163 -0
- data/lib/fog/openstack/volume_v2.rb +164 -0
- data/tests/helper.rb +21 -0
- data/tests/helpers/collection_helper.rb +97 -0
- data/tests/helpers/compute/flavors_helper.rb +32 -0
- data/tests/helpers/compute/server_helper.rb +25 -0
- data/tests/helpers/compute/servers_helper.rb +10 -0
- data/tests/helpers/formats_helper.rb +98 -0
- data/tests/helpers/formats_helper_tests.rb +110 -0
- data/tests/helpers/mock_helper.rb +17 -0
- data/tests/helpers/model_helper.rb +31 -0
- data/tests/helpers/responds_to_helper.rb +11 -0
- data/tests/helpers/schema_validator_tests.rb +107 -0
- data/tests/helpers/succeeds_helper.rb +9 -0
- data/tests/openstack/authenticate_tests.rb +200 -0
- data/tests/openstack/models/compute/images_tests.rb +13 -0
- data/tests/openstack/models/compute/security_group_tests.rb +54 -0
- data/tests/openstack/models/compute/server_tests.rb +220 -0
- data/tests/openstack/models/identity/ec2_credential_tests.rb +41 -0
- data/tests/openstack/models/identity/ec2_credentials_tests.rb +58 -0
- data/tests/openstack/models/identity/role_tests.rb +26 -0
- data/tests/openstack/models/identity/roles_tests.rb +20 -0
- data/tests/openstack/models/identity/tenant_tests.rb +30 -0
- data/tests/openstack/models/identity/tenants_tests.rb +26 -0
- data/tests/openstack/models/identity/user_tests.rb +46 -0
- data/tests/openstack/models/identity/users_tests.rb +42 -0
- data/tests/openstack/models/image/image_tests.rb +36 -0
- data/tests/openstack/models/image/images_tests.rb +19 -0
- data/tests/openstack/models/network/floating_ip_tests.rb +22 -0
- data/tests/openstack/models/network/floating_ips_tests.rb +19 -0
- data/tests/openstack/models/network/lb_health_monitor_tests.rb +52 -0
- data/tests/openstack/models/network/lb_health_monitors_tests.rb +21 -0
- data/tests/openstack/models/network/lb_member_tests.rb +28 -0
- data/tests/openstack/models/network/lb_members_tests.rb +21 -0
- data/tests/openstack/models/network/lb_pool_tests.rb +53 -0
- data/tests/openstack/models/network/lb_pools_tests.rb +20 -0
- data/tests/openstack/models/network/lb_vip_tests.rb +39 -0
- data/tests/openstack/models/network/lb_vips_tests.rb +21 -0
- data/tests/openstack/models/network/network_tests.rb +61 -0
- data/tests/openstack/models/network/networks_tests.rb +21 -0
- data/tests/openstack/models/network/port_tests.rb +28 -0
- data/tests/openstack/models/network/ports_tests.rb +25 -0
- data/tests/openstack/models/network/router_tests.rb +39 -0
- data/tests/openstack/models/network/routers_tests.rb +21 -0
- data/tests/openstack/models/network/security_group_rule_tests.rb +27 -0
- data/tests/openstack/models/network/security_group_rules_tests.rb +25 -0
- data/tests/openstack/models/network/security_group_tests.rb +17 -0
- data/tests/openstack/models/network/security_groups_tests.rb +16 -0
- data/tests/openstack/models/network/subnet_tests.rb +30 -0
- data/tests/openstack/models/network/subnets_tests.rb +27 -0
- data/tests/openstack/models/planning/.gitkeep +0 -0
- data/tests/openstack/models/planning/plan_tests.rb +51 -0
- data/tests/openstack/models/planning/plans_tests.rb +18 -0
- data/tests/openstack/models/planning/role_tests.rb +14 -0
- data/tests/openstack/models/storage/file_tests.rb +251 -0
- data/tests/openstack/requests/baremetal/chassis_tests.rb +48 -0
- data/tests/openstack/requests/baremetal/driver_tests.rb +40 -0
- data/tests/openstack/requests/baremetal/node_tests.rb +83 -0
- data/tests/openstack/requests/baremetal/port_tests.rb +56 -0
- data/tests/openstack/requests/compute/address_tests.rb +58 -0
- data/tests/openstack/requests/compute/aggregate_tests.rb +59 -0
- data/tests/openstack/requests/compute/availability_zone_tests.rb +18 -0
- data/tests/openstack/requests/compute/flavor_tests.rb +95 -0
- data/tests/openstack/requests/compute/helper.rb +41 -0
- data/tests/openstack/requests/compute/image_tests.rb +58 -0
- data/tests/openstack/requests/compute/keypair_tests.rb +30 -0
- data/tests/openstack/requests/compute/limit_tests.rb +59 -0
- data/tests/openstack/requests/compute/quota_tests.rb +60 -0
- data/tests/openstack/requests/compute/security_group_tests.rb +61 -0
- data/tests/openstack/requests/compute/server_tests.rb +289 -0
- data/tests/openstack/requests/compute/service_tests.rb +33 -0
- data/tests/openstack/requests/compute/tenant_tests.rb +19 -0
- data/tests/openstack/requests/compute/volume_tests.rb +38 -0
- data/tests/openstack/requests/identity/ec2_credentials_tests.rb +44 -0
- data/tests/openstack/requests/identity/helper.rb +13 -0
- data/tests/openstack/requests/identity/role_tests.rb +45 -0
- data/tests/openstack/requests/identity/tenant_tests.rb +56 -0
- data/tests/openstack/requests/identity/user_tests.rb +41 -0
- data/tests/openstack/requests/image/image_tests.rb +134 -0
- data/tests/openstack/requests/metering/meter_tests.rb +52 -0
- data/tests/openstack/requests/metering/resource_tests.rb +19 -0
- data/tests/openstack/requests/network/lb_health_monitor_tests.rb +93 -0
- data/tests/openstack/requests/network/lb_member_tests.rb +60 -0
- data/tests/openstack/requests/network/lb_pool_tests.rb +80 -0
- data/tests/openstack/requests/network/lb_vip_tests.rb +71 -0
- data/tests/openstack/requests/network/network_tests.rb +107 -0
- data/tests/openstack/requests/network/port_tests.rb +66 -0
- data/tests/openstack/requests/network/quota_tests.rb +65 -0
- data/tests/openstack/requests/network/router_tests.rb +73 -0
- data/tests/openstack/requests/network/security_group_rule_tests.rb +58 -0
- data/tests/openstack/requests/network/security_group_tests.rb +43 -0
- data/tests/openstack/requests/network/subnet_tests.rb +66 -0
- data/tests/openstack/requests/orchestration/stack_tests.rb +64 -0
- data/tests/openstack/requests/planning/.gitkeep +0 -0
- data/tests/openstack/requests/planning/plan_tests.rb +65 -0
- data/tests/openstack/requests/planning/role_tests.rb +16 -0
- data/tests/openstack/requests/storage/container_tests.rb +64 -0
- data/tests/openstack/requests/storage/large_object_tests.rb +372 -0
- data/tests/openstack/requests/storage/object_tests.rb +208 -0
- data/tests/openstack/requests/volume/availability_zone_tests.rb +13 -0
- data/tests/openstack/requests/volume/quota_tests.rb +50 -0
- data/tests/openstack/requests/volume/volume_type_tests.rb +32 -0
- data/tests/openstack/storage_tests.rb +18 -0
- data/tests/openstack/version_tests.rb +55 -0
- data/tests/openstack/volume_tests.rb +18 -0
- metadata +967 -0
@@ -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/openstack/models/compute/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/openstack/models/compute/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/openstack/models/compute/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 server creation.
|
22
|
+
# @example To inject fog.txt into file system
|
23
|
+
# :personality => [{ :path => '/root/fog.txt',
|
24
|
+
# :contents => Base64.encode64('Fog was here!')
|
25
|
+
# }]
|
26
|
+
# @see #create
|
27
|
+
# @see http://docs.openstack.org/api/openstack-compute/2/content/Server_Personality-d1e2543.html
|
28
|
+
attribute :personality
|
29
|
+
attribute :progress
|
30
|
+
attribute :accessIPv4
|
31
|
+
attribute :accessIPv6
|
32
|
+
attribute :availability_zone, :aliases => 'OS-EXT-AZ:availability_zone'
|
33
|
+
attribute :user_data_encoded
|
34
|
+
attribute :state, :aliases => 'status'
|
35
|
+
attribute :created, :type => :time
|
36
|
+
attribute :updated, :type => :time
|
37
|
+
|
38
|
+
attribute :tenant_id
|
39
|
+
attribute :user_id
|
40
|
+
attribute :key_name
|
41
|
+
attribute :fault
|
42
|
+
attribute :config_drive
|
43
|
+
attribute :os_dcf_disk_config, :aliases => 'OS-DCF:diskConfig'
|
44
|
+
attribute :os_ext_srv_attr_host, :aliases => 'OS-EXT-SRV-ATTR:host'
|
45
|
+
attribute :os_ext_srv_attr_hypervisor_hostname, :aliases => 'OS-EXT-SRV-ATTR:hypervisor_hostname'
|
46
|
+
attribute :os_ext_srv_attr_instance_name, :aliases => 'OS-EXT-SRV-ATTR:instance_name'
|
47
|
+
attribute :os_ext_sts_power_state, :aliases => 'OS-EXT-STS:power_state'
|
48
|
+
attribute :os_ext_sts_task_state, :aliases => 'OS-EXT-STS:task_state'
|
49
|
+
attribute :os_ext_sts_vm_state, :aliases => 'OS-EXT-STS:vm_state'
|
50
|
+
|
51
|
+
attr_reader :password
|
52
|
+
attr_writer :image_ref, :flavor_ref, :nics, :os_scheduler_hints
|
53
|
+
attr_accessor :block_device_mapping, :block_device_mapping_v2
|
54
|
+
|
55
|
+
# In some cases it's handy to be able to store the project for the record, e.g. swift doesn't contain project info
|
56
|
+
# in the result, so we can track it in this attribute based on what project was used in the request
|
57
|
+
attr_accessor :project
|
58
|
+
|
59
|
+
def initialize(attributes={})
|
60
|
+
# Old 'connection' is renamed as service and should be used instead
|
61
|
+
prepare_service_value(attributes)
|
62
|
+
|
63
|
+
self.security_groups = attributes.delete(:security_groups)
|
64
|
+
self.min_count = attributes.delete(:min_count)
|
65
|
+
self.max_count = attributes.delete(:max_count)
|
66
|
+
self.nics = attributes.delete(:nics)
|
67
|
+
self.os_scheduler_hints = attributes.delete(:os_scheduler_hints)
|
68
|
+
self.block_device_mapping = attributes.delete(:block_device_mapping)
|
69
|
+
self.block_device_mapping_v2 = attributes.delete(:block_device_mapping_v2)
|
70
|
+
|
71
|
+
super
|
72
|
+
end
|
73
|
+
|
74
|
+
def metadata
|
75
|
+
@metadata ||= begin
|
76
|
+
Fog::Compute::OpenStack::Metadata.new({
|
77
|
+
:service => service,
|
78
|
+
:parent => self
|
79
|
+
})
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def metadata=(new_metadata={})
|
84
|
+
return unless new_metadata
|
85
|
+
metas = []
|
86
|
+
new_metadata.each_pair {|k,v| metas << {"key" => k, "value" => v} }
|
87
|
+
@metadata = metadata.load(metas)
|
88
|
+
end
|
89
|
+
|
90
|
+
def user_data=(ascii_userdata)
|
91
|
+
self.user_data_encoded = [ascii_userdata].pack('m') if ascii_userdata
|
92
|
+
end
|
93
|
+
|
94
|
+
def destroy
|
95
|
+
requires :id
|
96
|
+
service.delete_server(id)
|
97
|
+
true
|
98
|
+
end
|
99
|
+
|
100
|
+
def images
|
101
|
+
requires :id
|
102
|
+
service.images(:server => self)
|
103
|
+
end
|
104
|
+
|
105
|
+
def all_addresses
|
106
|
+
# currently openstack API does not tell us what is a floating ip vs a fixed ip for the vm listing,
|
107
|
+
# we fall back to get all addresses and filter sadly.
|
108
|
+
# Only includes manually-assigned addresses, not auto-assigned
|
109
|
+
@all_addresses ||= service.list_all_addresses.body["floating_ips"].select{|data| data['instance_id'] == id}
|
110
|
+
end
|
111
|
+
|
112
|
+
def reload
|
113
|
+
@all_addresses = nil
|
114
|
+
super
|
115
|
+
end
|
116
|
+
|
117
|
+
# returns all ip_addresses for a given instance
|
118
|
+
# this includes both the fixed ip(s) and the floating ip(s)
|
119
|
+
def ip_addresses
|
120
|
+
addresses.values.flatten.map{|x| x['addr']}
|
121
|
+
end
|
122
|
+
|
123
|
+
def floating_ip_addresses
|
124
|
+
all_floating=addresses.values.flatten.select{ |data| data["OS-EXT-IPS:type"]=="floating" }.map{|addr| addr["addr"] }
|
125
|
+
|
126
|
+
# Return them all, leading with manually assigned addresses
|
127
|
+
manual = all_addresses.map{|addr| addr["ip"]}
|
128
|
+
|
129
|
+
all_floating.sort{ |a,b|
|
130
|
+
a_manual = manual.include? a
|
131
|
+
b_manual = manual.include? b
|
132
|
+
|
133
|
+
if a_manual and !b_manual
|
134
|
+
-1
|
135
|
+
elsif !a_manual and b_manual
|
136
|
+
1
|
137
|
+
else 0 end
|
138
|
+
}
|
139
|
+
all_floating.empty? ? manual : all_floating
|
140
|
+
end
|
141
|
+
|
142
|
+
def public_ip_addresses
|
143
|
+
if floating_ip_addresses.empty?
|
144
|
+
addresses.find_all{|s| s[0] =~ /public/i}.map{|a| a[1][0]['addr']}
|
145
|
+
else
|
146
|
+
floating_ip_addresses
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
def floating_ip_address
|
151
|
+
floating_ip_addresses.first
|
152
|
+
end
|
153
|
+
|
154
|
+
def public_ip_address
|
155
|
+
public_ip_addresses.first
|
156
|
+
end
|
157
|
+
|
158
|
+
def private_ip_addresses
|
159
|
+
rfc1918_regexp = /(^10\.|^172\.1[6-9]\.|^172\.2[0-9]\.|^172.3[0-1]\.|^192\.168\.)/
|
160
|
+
almost_private = ip_addresses - public_ip_addresses - floating_ip_addresses
|
161
|
+
almost_private.find_all{ |ip| rfc1918_regexp.match ip }
|
162
|
+
end
|
163
|
+
|
164
|
+
def private_ip_address
|
165
|
+
private_ip_addresses.first
|
166
|
+
end
|
167
|
+
|
168
|
+
def image_ref
|
169
|
+
@image_ref
|
170
|
+
end
|
171
|
+
|
172
|
+
def image_ref=(new_image_ref)
|
173
|
+
@image_ref = new_image_ref
|
174
|
+
end
|
175
|
+
|
176
|
+
def flavor_ref
|
177
|
+
@flavor_ref
|
178
|
+
end
|
179
|
+
|
180
|
+
def flavor_ref=(new_flavor_ref)
|
181
|
+
@flavor_ref = new_flavor_ref
|
182
|
+
end
|
183
|
+
|
184
|
+
def ready?
|
185
|
+
self.state == 'ACTIVE'
|
186
|
+
end
|
187
|
+
|
188
|
+
def failed?
|
189
|
+
self.state == 'ERROR'
|
190
|
+
end
|
191
|
+
|
192
|
+
def change_password(admin_password)
|
193
|
+
requires :id
|
194
|
+
service.change_server_password(id, admin_password)
|
195
|
+
true
|
196
|
+
end
|
197
|
+
|
198
|
+
def rebuild(image_ref, name, admin_pass=nil, metadata=nil, personality=nil)
|
199
|
+
requires :id
|
200
|
+
service.rebuild_server(id, image_ref, name, admin_pass, metadata, personality)
|
201
|
+
true
|
202
|
+
end
|
203
|
+
|
204
|
+
def resize(flavor_ref)
|
205
|
+
requires :id
|
206
|
+
service.resize_server(id, flavor_ref)
|
207
|
+
true
|
208
|
+
end
|
209
|
+
|
210
|
+
def revert_resize
|
211
|
+
requires :id
|
212
|
+
service.revert_resize_server(id)
|
213
|
+
true
|
214
|
+
end
|
215
|
+
|
216
|
+
def confirm_resize
|
217
|
+
requires :id
|
218
|
+
service.confirm_resize_server(id)
|
219
|
+
true
|
220
|
+
end
|
221
|
+
|
222
|
+
def security_groups
|
223
|
+
requires :id
|
224
|
+
|
225
|
+
groups = service.list_security_groups(:server_id => id).body['security_groups']
|
226
|
+
|
227
|
+
groups.map do |group|
|
228
|
+
Fog::Compute::OpenStack::SecurityGroup.new group.merge({:service => service})
|
229
|
+
end
|
230
|
+
end
|
231
|
+
|
232
|
+
def security_groups=(new_security_groups)
|
233
|
+
@security_groups = new_security_groups
|
234
|
+
end
|
235
|
+
|
236
|
+
def reboot(type = 'SOFT')
|
237
|
+
requires :id
|
238
|
+
service.reboot_server(id, type)
|
239
|
+
true
|
240
|
+
end
|
241
|
+
|
242
|
+
def stop
|
243
|
+
requires :id
|
244
|
+
service.stop_server(id)
|
245
|
+
end
|
246
|
+
|
247
|
+
def pause
|
248
|
+
requires :id
|
249
|
+
service.pause_server(id)
|
250
|
+
end
|
251
|
+
|
252
|
+
def suspend
|
253
|
+
requires :id
|
254
|
+
service.suspend_server(id)
|
255
|
+
end
|
256
|
+
|
257
|
+
def start
|
258
|
+
requires :id
|
259
|
+
|
260
|
+
case state.downcase
|
261
|
+
when 'paused'
|
262
|
+
service.unpause_server(id)
|
263
|
+
when 'suspended'
|
264
|
+
service.resume_server(id)
|
265
|
+
else
|
266
|
+
service.start_server(id)
|
267
|
+
end
|
268
|
+
end
|
269
|
+
|
270
|
+
def shelve
|
271
|
+
requires :id
|
272
|
+
service.shelve_server(id)
|
273
|
+
end
|
274
|
+
|
275
|
+
def unshelve
|
276
|
+
requires :id
|
277
|
+
service.unshelve_server(id)
|
278
|
+
end
|
279
|
+
|
280
|
+
def shelve_offload
|
281
|
+
requires :id
|
282
|
+
service.shelve_offload_server(id)
|
283
|
+
end
|
284
|
+
|
285
|
+
def create_image(name, metadata={})
|
286
|
+
requires :id
|
287
|
+
service.create_image(id, name, metadata)
|
288
|
+
end
|
289
|
+
|
290
|
+
def console(log_length = nil)
|
291
|
+
requires :id
|
292
|
+
service.get_console_output(id, log_length)
|
293
|
+
end
|
294
|
+
|
295
|
+
def migrate
|
296
|
+
requires :id
|
297
|
+
service.migrate_server(id)
|
298
|
+
end
|
299
|
+
|
300
|
+
def live_migrate(host, block_migration, disk_over_commit)
|
301
|
+
requires :id
|
302
|
+
service.live_migrate_server(id, host, block_migration, disk_over_commit)
|
303
|
+
end
|
304
|
+
|
305
|
+
def evacuate(host, on_shared_storage, admin_password = nil)
|
306
|
+
requires :id
|
307
|
+
service.evacuate_server(id, host, on_shared_storage, admin_password)
|
308
|
+
end
|
309
|
+
|
310
|
+
def associate_address(floating_ip)
|
311
|
+
requires :id
|
312
|
+
service.associate_address id, floating_ip
|
313
|
+
end
|
314
|
+
|
315
|
+
def disassociate_address(floating_ip)
|
316
|
+
requires :id
|
317
|
+
service.disassociate_address id, floating_ip
|
318
|
+
end
|
319
|
+
|
320
|
+
def reset_vm_state(vm_state)
|
321
|
+
requires :id
|
322
|
+
service.reset_server_state id, vm_state
|
323
|
+
end
|
324
|
+
|
325
|
+
def min_count=(new_min_count)
|
326
|
+
@min_count = new_min_count
|
327
|
+
end
|
328
|
+
|
329
|
+
def max_count=(new_max_count)
|
330
|
+
@max_count = new_max_count
|
331
|
+
end
|
332
|
+
|
333
|
+
def networks
|
334
|
+
service.networks(:server => self)
|
335
|
+
end
|
336
|
+
|
337
|
+
def volumes
|
338
|
+
requires :id
|
339
|
+
service.volumes.select do |vol|
|
340
|
+
vol.attachments.find { |attachment| attachment["serverId"] == id }
|
341
|
+
end
|
342
|
+
end
|
343
|
+
|
344
|
+
def volume_attachments
|
345
|
+
requires :id
|
346
|
+
service.get_server_volumes(id).body['volumeAttachments']
|
347
|
+
end
|
348
|
+
|
349
|
+
def attach_volume(volume_id, device_name)
|
350
|
+
requires :id
|
351
|
+
service.attach_volume(volume_id, id, device_name)
|
352
|
+
true
|
353
|
+
end
|
354
|
+
|
355
|
+
def detach_volume(volume_id)
|
356
|
+
requires :id
|
357
|
+
service.detach_volume(id, volume_id)
|
358
|
+
true
|
359
|
+
end
|
360
|
+
|
361
|
+
def save
|
362
|
+
raise Fog::Errors::Error.new('Resaving an existing object may create a duplicate') if persisted?
|
363
|
+
requires :flavor_ref, :name
|
364
|
+
requires_one :image_ref, :block_device_mapping, :block_device_mapping_v2
|
365
|
+
options = {
|
366
|
+
'personality' => personality,
|
367
|
+
'accessIPv4' => accessIPv4,
|
368
|
+
'accessIPv6' => accessIPv6,
|
369
|
+
'availability_zone' => availability_zone,
|
370
|
+
'user_data' => user_data_encoded,
|
371
|
+
'key_name' => key_name,
|
372
|
+
'config_drive' => config_drive,
|
373
|
+
'security_groups' => @security_groups,
|
374
|
+
'min_count' => @min_count,
|
375
|
+
'max_count' => @max_count,
|
376
|
+
'nics' => @nics,
|
377
|
+
'os:scheduler_hints' => @os_scheduler_hints,
|
378
|
+
'block_device_mapping' => @block_device_mapping,
|
379
|
+
'block_device_mapping_v2' => @block_device_mapping_v2,
|
380
|
+
}
|
381
|
+
options['metadata'] = metadata.to_hash unless @metadata.nil?
|
382
|
+
options = options.reject {|key, value| value.nil?}
|
383
|
+
data = service.create_server(name, image_ref, flavor_ref, options)
|
384
|
+
merge_attributes(data.body['server'])
|
385
|
+
true
|
386
|
+
end
|
387
|
+
|
388
|
+
def setup(credentials = {})
|
389
|
+
requires :ssh_ip_address, :identity, :public_key, :username
|
390
|
+
Fog::SSH.new(ssh_ip_address, username, credentials).run([
|
391
|
+
%{mkdir .ssh},
|
392
|
+
%{echo "#{public_key}" >> ~/.ssh/authorized_keys},
|
393
|
+
%{passwd -l #{username}},
|
394
|
+
%{echo "#{Fog::JSON.encode(attributes)}" >> ~/attributes.json},
|
395
|
+
%{echo "#{Fog::JSON.encode(metadata)}" >> ~/metadata.json}
|
396
|
+
])
|
397
|
+
rescue Errno::ECONNREFUSED
|
398
|
+
sleep(1)
|
399
|
+
retry
|
400
|
+
end
|
401
|
+
|
402
|
+
private
|
403
|
+
|
404
|
+
def adminPass=(new_admin_pass)
|
405
|
+
@password = new_admin_pass
|
406
|
+
end
|
407
|
+
end
|
408
|
+
end
|
409
|
+
end
|
410
|
+
end
|