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
data/docs/planning.md
ADDED
@@ -0,0 +1,225 @@
|
|
1
|
+
# Planning
|
2
|
+
|
3
|
+
This document explains how to get started using OpenStack Tuskar with Fog.
|
4
|
+
|
5
|
+
|
6
|
+
## Starting irb console
|
7
|
+
|
8
|
+
Start by executing the following command:
|
9
|
+
|
10
|
+
```bash
|
11
|
+
irb
|
12
|
+
```
|
13
|
+
|
14
|
+
Once `irb` has launched you need to require the Fog library.
|
15
|
+
|
16
|
+
If using Ruby 1.8.x execute:
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
require 'rubygems'
|
20
|
+
require 'fog/openstack'
|
21
|
+
```
|
22
|
+
|
23
|
+
If using Ruby 1.9.x execute:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
require 'fog/openstack'
|
27
|
+
```
|
28
|
+
|
29
|
+
## Create Service
|
30
|
+
|
31
|
+
Next, create a connection to Tuskar:
|
32
|
+
|
33
|
+
```ruby
|
34
|
+
service = Fog::OpenStack.new({
|
35
|
+
:service => :planning, # OpenStack Fog service
|
36
|
+
:openstack_username => USERNAME, # Your OpenStack Username
|
37
|
+
:openstack_api_key => PASSWORD, # Your OpenStack Password
|
38
|
+
:openstack_auth_url => 'http://YOUR_OPENSTACK_ENDPOINT:PORT/v2.0/tokens'
|
39
|
+
:connection_options => {} # Optional
|
40
|
+
})
|
41
|
+
```
|
42
|
+
|
43
|
+
Read more about the [Optional Connection Parameters](common/connection_params.md)
|
44
|
+
|
45
|
+
## Fog Abstractions
|
46
|
+
|
47
|
+
Fog provides both a **model** and **request** abstraction. The request abstraction provides the most efficient interface and the model abstraction wraps the request abstraction to provide a convenient `ActiveModel` like interface.
|
48
|
+
|
49
|
+
### Request Layer
|
50
|
+
|
51
|
+
The `Fog::OpenStack[:planning]` object supports a number of methods that wrap individual HTTP requests to the Tuskar API.
|
52
|
+
|
53
|
+
To see a list of requests supported by the planning service:
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
service.requests
|
57
|
+
```
|
58
|
+
|
59
|
+
This returns:
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
[
|
63
|
+
:list_roles,
|
64
|
+
:list_plans,
|
65
|
+
:get_plan_templates,
|
66
|
+
:get_plan,
|
67
|
+
:patch_plan,
|
68
|
+
:create_plan,
|
69
|
+
:delete_plan,
|
70
|
+
:add_role_to_plan,
|
71
|
+
:remove_role_from_plan
|
72
|
+
]
|
73
|
+
|
74
|
+
```
|
75
|
+
|
76
|
+
|
77
|
+
#### Example Request
|
78
|
+
|
79
|
+
To request a list of plans:
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
response = service.list_plans
|
83
|
+
```
|
84
|
+
|
85
|
+
This returns in the following `Excon::Response`:
|
86
|
+
|
87
|
+
```ruby
|
88
|
+
#<Excon::Response:0x007f141e045ab8
|
89
|
+
@data=
|
90
|
+
{
|
91
|
+
:body=>
|
92
|
+
[
|
93
|
+
{
|
94
|
+
"created_at"=>"2014-09-26T20:23:14.222815",
|
95
|
+
"description"=>"Development testing cloud",
|
96
|
+
"name"=>"dev-cloud",
|
97
|
+
"parameters"=>
|
98
|
+
[
|
99
|
+
{
|
100
|
+
"default"=>"guest",
|
101
|
+
"description"=>"The password for RabbitMQ",
|
102
|
+
"hidden"=>true,
|
103
|
+
"label"=>nil,
|
104
|
+
"name"=>"compute-1 => =>RabbitPassword",
|
105
|
+
"value"=>"secret-password"
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"default"=>"default",
|
109
|
+
"description"=>"description",
|
110
|
+
"hidden"=>true,
|
111
|
+
"label"=>nil,
|
112
|
+
"name"=>"name",
|
113
|
+
"value"=>"value"
|
114
|
+
}
|
115
|
+
],
|
116
|
+
"roles"=>
|
117
|
+
[
|
118
|
+
{
|
119
|
+
"description"=>"OpenStack hypervisor node. Can be wrapped in a ResourceGroup for scaling.\n",
|
120
|
+
"name"=>"compute",
|
121
|
+
"uuid"=>"b7b1583c-5c80-481f-a25b-708ed4a39734",
|
122
|
+
"version"=>1
|
123
|
+
}
|
124
|
+
],
|
125
|
+
"updated_at"=>nil,
|
126
|
+
"uuid"=>"53268a27-afc8-4b21-839f-90227dd7a001"
|
127
|
+
}
|
128
|
+
],
|
129
|
+
:headers=>{},
|
130
|
+
:status=>200
|
131
|
+
},
|
132
|
+
@body="",
|
133
|
+
@headers={},
|
134
|
+
@status=nil,
|
135
|
+
@remote_ip=nil,
|
136
|
+
@local_port=nil,
|
137
|
+
@local_address=nil
|
138
|
+
>
|
139
|
+
```
|
140
|
+
|
141
|
+
To view the status of the response:
|
142
|
+
|
143
|
+
```ruby
|
144
|
+
response.status
|
145
|
+
```
|
146
|
+
|
147
|
+
**Note**: Fog is aware of the valid HTTP response statuses for each request type. If an unexpected HTTP response status occurs, Fog will raise an exception.
|
148
|
+
|
149
|
+
To view response headers:
|
150
|
+
|
151
|
+
```ruby
|
152
|
+
response.headers
|
153
|
+
```
|
154
|
+
|
155
|
+
This will return hash similar to:
|
156
|
+
|
157
|
+
```ruby
|
158
|
+
{
|
159
|
+
"X-Account-Bytes-Used"=>"2563554",
|
160
|
+
"Date"=>"Thu, 21 Feb 2013 21:57:02 GMT",
|
161
|
+
"X-Account-Meta-Temp-Url-Key"=>"super_secret_key",
|
162
|
+
"X-Timestamp"=>"1354552916.82056",
|
163
|
+
"Content-Length"=>"0",
|
164
|
+
"Content-Type"=>"application/json; charset=utf-8",
|
165
|
+
"X-Trans-Id"=>"txe934924374a744c8a6c40dd8f29ab94a",
|
166
|
+
"Accept-Ranges"=>"bytes",
|
167
|
+
"X-Account-Container-Count"=>"7",
|
168
|
+
"X-Account-Object-Count"=>"5"
|
169
|
+
}
|
170
|
+
```
|
171
|
+
|
172
|
+
[//]: # (TODO: Specify URL to rubydoc.info when OpenStack Planning service is part of release and pages are built)
|
173
|
+
To learn more about `Fog::OpenStack[:planning]` request methods refer to [rdoc](http://rubydoc.info/gems/fog/Fog). To learn more about Excon refer to [Excon GitHub repo](https://github.com/geemus/excon).
|
174
|
+
|
175
|
+
### Model Layer
|
176
|
+
|
177
|
+
Fog models behave in a manner similar to `ActiveModel`. Models will generally respond to `create`, `save`, `destroy`, `reload` and `attributes` methods. Additionally, fog will automatically create attribute accessors.
|
178
|
+
|
179
|
+
Here is a summary of common model methods:
|
180
|
+
|
181
|
+
<table>
|
182
|
+
<tr>
|
183
|
+
<th>Method</th>
|
184
|
+
<th>Description</th>
|
185
|
+
</tr>
|
186
|
+
<tr>
|
187
|
+
<td>create</td>
|
188
|
+
<td>
|
189
|
+
Accepts hash of attributes and creates object.<br>
|
190
|
+
Note: creation is a non-blocking call and you will be required to wait for a valid state before using resulting object.
|
191
|
+
</td>
|
192
|
+
</tr>
|
193
|
+
<tr>
|
194
|
+
<td>save</td>
|
195
|
+
<td>Saves object.<br>
|
196
|
+
Note: not all objects support updating object.</td>
|
197
|
+
</tr>
|
198
|
+
<tr>
|
199
|
+
<td>destroy</td>
|
200
|
+
<td>
|
201
|
+
Destroys object.<br>
|
202
|
+
Note: this is a non-blocking call and object deletion might not be instantaneous.
|
203
|
+
</td>
|
204
|
+
<tr>
|
205
|
+
<td>reload</td>
|
206
|
+
<td>Updates object with latest state from service.</td>
|
207
|
+
<tr>
|
208
|
+
<td>attributes</td>
|
209
|
+
<td>Returns a hash containing the list of model attributes and values.</td>
|
210
|
+
</tr>
|
211
|
+
<td>identity</td>
|
212
|
+
<td>
|
213
|
+
Returns the identity of the object.<br>
|
214
|
+
Note: This might not always be equal to object.id.
|
215
|
+
</td>
|
216
|
+
</tr>
|
217
|
+
</table>
|
218
|
+
|
219
|
+
The remainder of this document details the model abstraction.
|
220
|
+
|
221
|
+
|
222
|
+
## Additional Resources
|
223
|
+
|
224
|
+
* [Tuskar API](http://docs.openstack.org/developer/tuskar/)
|
225
|
+
* [more resources and feedback](common/resources.md)
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# Shared File System (Manila)
|
2
|
+
|
3
|
+
This document explains how to get started using OpenStack Shared File System (Manila) with Fog. It assumes you have read the [Getting Started with Fog and OpenStack](getting_started.md) document.
|
4
|
+
|
5
|
+
## Starting irb console
|
6
|
+
|
7
|
+
Start by executing the following command:
|
8
|
+
```
|
9
|
+
irb
|
10
|
+
```
|
11
|
+
|
12
|
+
or if you use bundler for managing your gems:
|
13
|
+
```
|
14
|
+
bundle exec irb
|
15
|
+
```
|
16
|
+
|
17
|
+
Once `irb` has launched you need to require the Fog library by executing:
|
18
|
+
```
|
19
|
+
require 'fog/openstack'
|
20
|
+
```
|
21
|
+
## Create Service
|
22
|
+
|
23
|
+
Next, create a connection to the Shared File System Service:
|
24
|
+
```
|
25
|
+
service = Fog::SharedFileSystem::OpenStack.new(
|
26
|
+
:openstack_auth_url => 'http://KEYSTONE_HOST:KEYSTONE_PORT/v3/auth/tokens', # OpenStack Keystone v3 endpoint
|
27
|
+
:openstack_username => OPEN_STACK_USER, # Your OpenStack Username
|
28
|
+
:openstack_domain_name => OPEN_STACK_DOMAIN, # Your OpenStack Domain name
|
29
|
+
:openstack_project_name => OPEN_STACK_PROJECT, # Your OpenStack Project name
|
30
|
+
:openstack_api_key => OPEN_STACK_PASSWORD, # Your OpenStack Password
|
31
|
+
:connection_options => {} # Optional
|
32
|
+
)
|
33
|
+
```
|
34
|
+
|
35
|
+
Read more about the [Optional Connection Parameters](common/connection_params.md)
|
36
|
+
|
37
|
+
## Fog Abstractions
|
38
|
+
|
39
|
+
Fog provides both a **model** and **request** abstraction. The request abstraction provides the most efficient interface and the model abstraction wraps the request abstraction to provide a convenient `ActiveModel` like interface.
|
40
|
+
|
41
|
+
### Request Layer
|
42
|
+
|
43
|
+
The request abstraction maps directly to the [OpenStack Shared File System API](http://developer.openstack.org/api-ref/shared-file-systems). It provides the most efficient interface to the OpenStack Shared File System service.
|
44
|
+
|
45
|
+
To see a list of requests supported by the service:
|
46
|
+
```
|
47
|
+
service.requests
|
48
|
+
```
|
49
|
+
|
50
|
+
#### Example Request
|
51
|
+
|
52
|
+
To request a list of networks:
|
53
|
+
```
|
54
|
+
response = service.list_shares
|
55
|
+
```
|
56
|
+
|
57
|
+
To learn more about Shared File System request methods refer to [rdoc](http://www.rubydoc.info/gems/fog-openstack/Fog/SharedFileSystem/OpenStack/Real).
|
58
|
+
|
59
|
+
### Model Layer
|
60
|
+
|
61
|
+
Fog models behave in a manner similar to `ActiveModel`. Models will generally respond to `create`, `save`, `persisted?`, `destroy`, `reload` and `attributes` methods. Additionally, fog will automatically create attribute accessors.
|
62
|
+
|
63
|
+
To see a list of collections supported by the service:
|
64
|
+
```
|
65
|
+
service.collections
|
66
|
+
```
|
67
|
+
|
68
|
+
#### Example Request
|
69
|
+
|
70
|
+
To request a collection of share networks:
|
71
|
+
```
|
72
|
+
networks = service.networks
|
73
|
+
```
|
74
|
+
|
75
|
+
## Examples
|
76
|
+
|
77
|
+
Example code using Shared File System can be found [here](https://github.com/fog/fog-openstack/tree/master/examples/share).
|
78
|
+
|
79
|
+
## Additional Resources
|
80
|
+
|
81
|
+
* [OpenStack Shared File System API](http://developer.openstack.org/api-ref/shared-file-systems/)
|
82
|
+
* [more resources and feedback](common/resources.md)
|
data/docs/storage.md
ADDED
@@ -0,0 +1,406 @@
|
|
1
|
+
# Storage
|
2
|
+
|
3
|
+
This document explains how to get started using OpenStack Swift with Fog.
|
4
|
+
|
5
|
+
|
6
|
+
## Starting irb console
|
7
|
+
|
8
|
+
Start by executing the following command:
|
9
|
+
|
10
|
+
irb
|
11
|
+
|
12
|
+
Once `irb` has launched you need to require the Fog library.
|
13
|
+
|
14
|
+
If using Ruby 1.8.x execute:
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
require 'rubygems'
|
18
|
+
require 'fog/openstack'
|
19
|
+
```
|
20
|
+
|
21
|
+
If using Ruby 1.9.x execute:
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
require 'fog/openstack'
|
25
|
+
```
|
26
|
+
|
27
|
+
## Create Service
|
28
|
+
|
29
|
+
Next, create a connection to Swift:
|
30
|
+
|
31
|
+
```ruby
|
32
|
+
service = Fog::Storage::OpenStack.new({
|
33
|
+
:openstack_username => USERNAME, # Your OpenStack Username
|
34
|
+
:openstack_api_key => PASSWORD, # Your OpenStack Password
|
35
|
+
:openstack_auth_url => 'http://YOUR_OPENSTACK_ENDPOINT:PORT/v2.0/tokens',
|
36
|
+
:connection_options => {}
|
37
|
+
})
|
38
|
+
```
|
39
|
+
|
40
|
+
Read more about the [Optional Connection Parameters](common/connection_params.md)
|
41
|
+
|
42
|
+
Alternative regions are specified using the key `:openstack_region `. A list of regions available for Swift can be found by executing the following:
|
43
|
+
|
44
|
+
### Optional Service Parameters
|
45
|
+
|
46
|
+
The Storage service supports the following additional parameters:
|
47
|
+
|
48
|
+
<table>
|
49
|
+
<tr>
|
50
|
+
<th>Key</th>
|
51
|
+
<th>Description</th>
|
52
|
+
</tr>
|
53
|
+
<tr>
|
54
|
+
<td>:persistent</td>
|
55
|
+
<td>If set to true, the service will use a persistent connection.</td>
|
56
|
+
</tr>
|
57
|
+
<tr>
|
58
|
+
<td>:openstack_service_name</td>
|
59
|
+
<td></td>
|
60
|
+
</tr>
|
61
|
+
<tr>
|
62
|
+
<td>:openstack_service_type</td>
|
63
|
+
<td></td>
|
64
|
+
</tr>
|
65
|
+
<tr>
|
66
|
+
<td>:openstack_tenant</td>
|
67
|
+
<td></td>
|
68
|
+
</tr>
|
69
|
+
<tr>
|
70
|
+
<td>:openstack_region</td>
|
71
|
+
<td></td>
|
72
|
+
</tr>
|
73
|
+
<tr>
|
74
|
+
<td>:openstack_temp_url_key</td>
|
75
|
+
<td></td>
|
76
|
+
</tr>
|
77
|
+
</table>
|
78
|
+
|
79
|
+
## Fog Abstractions
|
80
|
+
|
81
|
+
Fog provides both a **model** and **request** abstraction. The request abstraction provides the most efficient interface and the model abstraction wraps the request abstraction to provide a convenient `ActiveModel` like interface.
|
82
|
+
|
83
|
+
### Request Layer
|
84
|
+
|
85
|
+
The Fog::Storage object supports a number of methods that wrap individual HTTP requests to the Swift API.
|
86
|
+
|
87
|
+
To see a list of requests supported by the storage service:
|
88
|
+
|
89
|
+
service.requests
|
90
|
+
|
91
|
+
This returns:
|
92
|
+
|
93
|
+
[:copy_object, :delete_container, :delete_object, :delete_multiple_objects, :delete_static_large_object, :get_container, :get_containers, :get_object, :get_object_http_url, :get_object_https_url, :head_container, :head_containers, :head_object, :put_container, :put_object, :put_object_manifest, :put_dynamic_obj_manifest, :put_static_obj_manifest, :post_set_meta_temp_url_key]
|
94
|
+
|
95
|
+
#### Example Request
|
96
|
+
|
97
|
+
To request a view account details:
|
98
|
+
|
99
|
+
```ruby
|
100
|
+
response = service.head_containers
|
101
|
+
```
|
102
|
+
|
103
|
+
This returns in the following `Excon::Response`:
|
104
|
+
|
105
|
+
```
|
106
|
+
#<Excon::Response:0x10283fc68 @headers={"X-Account-Bytes-Used"=>"2563554", "Date"=>"Thu, 21 Feb 2013 21:57:02 GMT", "X-Account-Meta-Temp-Url-Key"=>"super_secret_key", "X-Timestamp"=>"1354552916.82056", "Content-Length"=>"0", "Content-Type"=>"application/json; charset=utf-8", "X-Trans-Id"=>"txe934924374a744c8a6c40dd8f29ab94a", "Accept-Ranges"=>"bytes", "X-Account-Container-Count"=>"7", "X-Account-Object-Count"=>"5"}, @status=204, @body="">
|
107
|
+
```
|
108
|
+
|
109
|
+
To view the status of the response:
|
110
|
+
|
111
|
+
```ruby
|
112
|
+
response.status
|
113
|
+
```
|
114
|
+
|
115
|
+
**Note**: Fog is aware of the valid HTTP response statuses for each request type. If an unexpected HTTP response status occurs, Fog will raise an exception.
|
116
|
+
|
117
|
+
To view response headers:
|
118
|
+
|
119
|
+
```ruby
|
120
|
+
response.headers
|
121
|
+
```
|
122
|
+
|
123
|
+
This will return:
|
124
|
+
|
125
|
+
```
|
126
|
+
{"X-Account-Bytes-Used"=>"2563554", "Date"=>"Thu, 21 Feb 2013 21:57:02 GMT", "X-Account-Meta-Temp-Url-Key"=>"super_secret_key", "X-Timestamp"=>"1354552916.82056", "Content-Length"=>"0", "Content-Type"=>"application/json; charset=utf-8", "X-Trans-Id"=>"txe934924374a744c8a6c40dd8f29ab94a", "Accept-Ranges"=>"bytes", "X-Account-Container-Count"=>"7", "X-Account-Object-Count"=>"5"}
|
127
|
+
```
|
128
|
+
|
129
|
+
To learn more about `Fog::Storage` request methods refer to [rdoc](http://rubydoc.info/gems/fog/Fog/Storage/OpenStack/Real). To learn more about Excon refer to [Excon GitHub repo](https://github.com/geemus/excon).
|
130
|
+
|
131
|
+
### Model Layer
|
132
|
+
|
133
|
+
Fog models behave in a manner similar to `ActiveModel`. Models will generally respond to `create`, `save`, `destroy`, `reload` and `attributes` methods. Additionally, fog will automatically create attribute accessors.
|
134
|
+
|
135
|
+
Here is a summary of common model methods:
|
136
|
+
|
137
|
+
<table>
|
138
|
+
<tr>
|
139
|
+
<th>Method</th>
|
140
|
+
<th>Description</th>
|
141
|
+
</tr>
|
142
|
+
<tr>
|
143
|
+
<td>create</td>
|
144
|
+
<td>
|
145
|
+
Accepts hash of attributes and creates object.<br>
|
146
|
+
Note: creation is a non-blocking call and you will be required to wait for a valid state before using resulting object.
|
147
|
+
</td>
|
148
|
+
</tr>
|
149
|
+
<tr>
|
150
|
+
<td>save</td>
|
151
|
+
<td>Saves object.<br>
|
152
|
+
Note: not all objects support updating object.</td>
|
153
|
+
</tr>
|
154
|
+
<tr>
|
155
|
+
<td>destroy</td>
|
156
|
+
<td>
|
157
|
+
Destroys object.<br>
|
158
|
+
Note: this is a non-blocking call and object deletion might not be instantaneous.
|
159
|
+
</td>
|
160
|
+
<tr>
|
161
|
+
<td>reload</td>
|
162
|
+
<td>Updates object with latest state from service.</td>
|
163
|
+
<tr>
|
164
|
+
<td>attributes</td>
|
165
|
+
<td>Returns a hash containing the list of model attributes and values.</td>
|
166
|
+
</tr>
|
167
|
+
<td>identity</td>
|
168
|
+
<td>
|
169
|
+
Returns the identity of the object.<br>
|
170
|
+
Note: This might not always be equal to object.id.
|
171
|
+
</td>
|
172
|
+
</tr>
|
173
|
+
</table>
|
174
|
+
|
175
|
+
The remainder of this document details the model abstraction.
|
176
|
+
|
177
|
+
**Note:** Fog sometimes refers to Swift containers as directories.
|
178
|
+
|
179
|
+
## List Directories
|
180
|
+
|
181
|
+
To retrieve a list of directories:
|
182
|
+
|
183
|
+
```ruby
|
184
|
+
service.directories
|
185
|
+
```
|
186
|
+
|
187
|
+
This returns a collection of `Fog::Storage::OpenStack::Directory` models:
|
188
|
+
|
189
|
+
## Get Directory
|
190
|
+
|
191
|
+
To retrieve a specific directory:
|
192
|
+
|
193
|
+
```ruby
|
194
|
+
service.directories.get "blue"
|
195
|
+
```
|
196
|
+
|
197
|
+
This returns a `Fog::Storage::OpenStack::Directory` instance:
|
198
|
+
|
199
|
+
## Create Directory
|
200
|
+
|
201
|
+
To create a directory:
|
202
|
+
|
203
|
+
```ruby
|
204
|
+
service.directories.create :key => 'backups'
|
205
|
+
```
|
206
|
+
|
207
|
+
### Additional Parameters
|
208
|
+
|
209
|
+
The `create` method also supports the following key values:
|
210
|
+
|
211
|
+
<table>
|
212
|
+
<tr>
|
213
|
+
<th>Key</th>
|
214
|
+
<th>Description</th>
|
215
|
+
</tr>
|
216
|
+
<tr>
|
217
|
+
<td>:metadata</td>
|
218
|
+
<td>Hash containing directory metadata.</td>
|
219
|
+
</tr>
|
220
|
+
</table>
|
221
|
+
|
222
|
+
|
223
|
+
## Delete Directory
|
224
|
+
|
225
|
+
To delete a directory:
|
226
|
+
|
227
|
+
```ruby
|
228
|
+
directory.destroy
|
229
|
+
```
|
230
|
+
|
231
|
+
**Note**: Directory must be empty before it can be deleted.
|
232
|
+
|
233
|
+
|
234
|
+
## Directory URL
|
235
|
+
|
236
|
+
To get a directory's URL:
|
237
|
+
|
238
|
+
```ruby
|
239
|
+
directory.public_url
|
240
|
+
```
|
241
|
+
|
242
|
+
## List Files
|
243
|
+
|
244
|
+
To list files in a directory:
|
245
|
+
|
246
|
+
```ruby
|
247
|
+
directory.files
|
248
|
+
```
|
249
|
+
|
250
|
+
**Note**: File contents is not downloaded until `body` attribute is called.
|
251
|
+
|
252
|
+
## Upload Files
|
253
|
+
|
254
|
+
To upload a file into a directory:
|
255
|
+
|
256
|
+
```ruby
|
257
|
+
file = directory.files.create :key => 'space.jpg', :body => File.open "space.jpg"
|
258
|
+
```
|
259
|
+
|
260
|
+
**Note**: For files larger than 5 GB please refer to the [Upload Large Files](#upload-large-files) section.
|
261
|
+
|
262
|
+
### Additional Parameters
|
263
|
+
|
264
|
+
The `create` method also supports the following key values:
|
265
|
+
|
266
|
+
<table>
|
267
|
+
<tr>
|
268
|
+
<th>Key</th>
|
269
|
+
<th>Description</th>
|
270
|
+
</tr>
|
271
|
+
<tr>
|
272
|
+
<td>:content_type</td>
|
273
|
+
<td>The content type of the object. Cloud Files will attempt to auto detect this value if omitted.</td>
|
274
|
+
</tr>
|
275
|
+
<tr>
|
276
|
+
<td>:access_control_allow_origin</td>
|
277
|
+
<td>URLs can make Cross Origin Requests. Format is http://www.example.com. Separate URLs with a space. An asterisk (*) allows all. Please refer to <a href="http://docs.rackspace.com/files/api/v1/cf-devguide/content/CORS_Container_Header-d1e1300.html">CORS Container Headers</a> for more information.</td>
|
278
|
+
</tr>
|
279
|
+
<tr>
|
280
|
+
<td>:origin</td>
|
281
|
+
<td>The origin is the URI of the object's host.</td>
|
282
|
+
</tr>
|
283
|
+
<tr>
|
284
|
+
<td>:etag</td>
|
285
|
+
<td>The MD5 checksum of your object's data. If specified, Cloud Files will validate the integrity of the uploaded object.</td>
|
286
|
+
</tr>
|
287
|
+
<tr>
|
288
|
+
<td>:metadata</td>
|
289
|
+
<td>Hash containing file metadata.</td>
|
290
|
+
</tr>
|
291
|
+
</table>
|
292
|
+
|
293
|
+
## Upload Large Files
|
294
|
+
|
295
|
+
Swift requires files larger than 5 GB (the Swift default limit) to be uploaded into segments along with an accompanying manifest file. All of the segments must be uploaded to the same container.
|
296
|
+
|
297
|
+
```ruby
|
298
|
+
SEGMENT_LIMIT = 5368709119.0 # 5GB -1
|
299
|
+
BUFFER_SIZE = 1024 * 1024 # 1MB
|
300
|
+
|
301
|
+
File.open(file_name) do |file|
|
302
|
+
segment = 0
|
303
|
+
until file.eof?
|
304
|
+
segment += 1
|
305
|
+
offset = 0
|
306
|
+
|
307
|
+
# upload segment to cloud files
|
308
|
+
segment_suffix = segment.to_s.rjust(10, '0')
|
309
|
+
service.put_object("my_container", "large_file/#{segment_suffix}", nil) do
|
310
|
+
if offset <= SEGMENT_LIMIT - BUFFER_SIZE
|
311
|
+
buf = file.read(BUFFER_SIZE).to_s
|
312
|
+
offset += buf.size
|
313
|
+
buf
|
314
|
+
else
|
315
|
+
''
|
316
|
+
end
|
317
|
+
end
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
# write manifest file
|
322
|
+
service.put_object_manifest("my_container", "large_file", 'X-Object-Manifest' => "my_container/large_file/")
|
323
|
+
```
|
324
|
+
|
325
|
+
Segmented files are downloaded like ordinary files. See [Download Files](#download-files) section for more information.
|
326
|
+
|
327
|
+
## Download Files
|
328
|
+
|
329
|
+
The most efficient way to download files from a private or public directory is as follows:
|
330
|
+
|
331
|
+
```ruby
|
332
|
+
File.open('downloaded-file.jpg', 'w') do | f |
|
333
|
+
directory.files.get("my_big_file.jpg") do | data, remaining, content_length |
|
334
|
+
f.syswrite data
|
335
|
+
end
|
336
|
+
end
|
337
|
+
```
|
338
|
+
|
339
|
+
This will download and save the file in 1 MB chunks. The chunk size can be changed by passing the parameter `:chunk_size` into the `:connection_options` hash in the service constructor.
|
340
|
+
|
341
|
+
**Note**: The `body` attribute of file will be empty if a file has been downloaded using this method.
|
342
|
+
|
343
|
+
If a file object has already been loaded into memory, you can save it as follows:
|
344
|
+
|
345
|
+
```ruby
|
346
|
+
File.open('germany.jpg', 'w') {|f| f.write(file_object.body) }
|
347
|
+
```
|
348
|
+
|
349
|
+
**Note**: This method is more memory intensive as the entire object is loaded into memory before saving the file as in the example above.
|
350
|
+
|
351
|
+
|
352
|
+
## File URL
|
353
|
+
|
354
|
+
To get a file's URL:
|
355
|
+
|
356
|
+
```ruby
|
357
|
+
file.public_url
|
358
|
+
```
|
359
|
+
|
360
|
+
## Metadata
|
361
|
+
|
362
|
+
You can access metadata as an attribute on `Fog::Storage::Rackspace::File`.
|
363
|
+
|
364
|
+
```ruby
|
365
|
+
file.metadata[:environment]
|
366
|
+
```
|
367
|
+
|
368
|
+
File metadata is set when the file is saved:
|
369
|
+
|
370
|
+
```ruby
|
371
|
+
file.save
|
372
|
+
```
|
373
|
+
|
374
|
+
Metadata is reloaded when directory or file is reloaded:
|
375
|
+
|
376
|
+
```ruby
|
377
|
+
file.reload
|
378
|
+
```
|
379
|
+
|
380
|
+
## Copy File
|
381
|
+
|
382
|
+
Cloud Files supports copying files. To copy files into a container named "trip" with a name of "europe.jpg" do the following:
|
383
|
+
|
384
|
+
```ruby
|
385
|
+
file.copy("trip", "europe.jpg")
|
386
|
+
```
|
387
|
+
|
388
|
+
To move or rename a file, perform a copy operation and then delete the old file:
|
389
|
+
|
390
|
+
```ruby
|
391
|
+
file.copy("trip", "germany.jpg")
|
392
|
+
file.destroy
|
393
|
+
```
|
394
|
+
|
395
|
+
## Delete File
|
396
|
+
|
397
|
+
To delete a file:
|
398
|
+
|
399
|
+
```ruby
|
400
|
+
file.destroy
|
401
|
+
```
|
402
|
+
|
403
|
+
## Additional Resources
|
404
|
+
|
405
|
+
* [Swift API](http://docs.openstack.org/api/openstack-object-storage/1.0/content/index.html)
|
406
|
+
* [more resources and feedback](common/resources.md)
|