fog-aws 3.0.0 → 3.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +10 -0
- data/.github/workflows/ruby.yml +36 -0
- data/.github/workflows/stale.yml +23 -0
- data/.gitignore +1 -0
- data/CHANGELOG.md +354 -22
- data/Gemfile +1 -1
- data/LICENSE.md +1 -1
- data/README.md +60 -7
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/fog-aws.gemspec +5 -4
- data/lib/fog/aws.rb +27 -19
- data/lib/fog/aws/auto_scaling.rb +1 -0
- data/lib/fog/aws/cdn.rb +15 -2
- data/lib/fog/aws/compute.rb +36 -23
- data/lib/fog/aws/credential_fetcher.rb +62 -8
- data/lib/fog/aws/dns.rb +154 -5
- data/lib/fog/aws/efs.rb +1 -1
- data/lib/fog/aws/elasticache.rb +4 -2
- data/lib/fog/aws/elb.rb +3 -2
- data/lib/fog/aws/elbv2.rb +72 -0
- data/lib/fog/aws/glacier.rb +83 -21
- data/lib/fog/aws/kinesis.rb +23 -15
- data/lib/fog/aws/models/auto_scaling/group.rb +10 -0
- data/lib/fog/aws/models/cdn/distribution.rb +4 -4
- data/lib/fog/aws/models/cdn/distribution_helper.rb +2 -2
- data/lib/fog/aws/models/cdn/distributions.rb +4 -4
- data/lib/fog/aws/models/cdn/distributions_helper.rb +2 -2
- data/lib/fog/aws/models/cdn/invalidation.rb +2 -2
- data/lib/fog/aws/models/cdn/invalidations.rb +3 -3
- data/lib/fog/aws/models/cdn/streaming_distribution.rb +3 -3
- data/lib/fog/aws/models/cdn/streaming_distributions.rb +4 -4
- data/lib/fog/aws/models/compute/address.rb +3 -2
- data/lib/fog/aws/models/compute/addresses.rb +3 -3
- data/lib/fog/aws/models/compute/dhcp_option.rb +2 -2
- data/lib/fog/aws/models/compute/dhcp_options.rb +7 -7
- data/lib/fog/aws/models/compute/flavor.rb +2 -2
- data/lib/fog/aws/models/compute/flavors.rb +2719 -397
- data/lib/fog/aws/models/compute/image.rb +2 -2
- data/lib/fog/aws/models/compute/images.rb +3 -3
- data/lib/fog/aws/models/compute/internet_gateway.rb +2 -2
- data/lib/fog/aws/models/compute/internet_gateways.rb +7 -7
- data/lib/fog/aws/models/compute/key_pair.rb +2 -2
- data/lib/fog/aws/models/compute/key_pairs.rb +3 -3
- data/lib/fog/aws/models/compute/network_acl.rb +4 -4
- data/lib/fog/aws/models/compute/network_acls.rb +6 -6
- data/lib/fog/aws/models/compute/network_interface.rb +2 -2
- data/lib/fog/aws/models/compute/network_interfaces.rb +4 -4
- data/lib/fog/aws/models/compute/route_table.rb +2 -2
- data/lib/fog/aws/models/compute/route_tables.rb +7 -7
- data/lib/fog/aws/models/compute/security_group.rb +2 -2
- data/lib/fog/aws/models/compute/security_groups.rb +3 -3
- data/lib/fog/aws/models/compute/server.rb +6 -4
- data/lib/fog/aws/models/compute/servers.rb +13 -8
- data/lib/fog/aws/models/compute/snapshot.rb +9 -8
- data/lib/fog/aws/models/compute/snapshots.rb +3 -3
- data/lib/fog/aws/models/compute/spot_request.rb +2 -2
- data/lib/fog/aws/models/compute/spot_requests.rb +3 -3
- data/lib/fog/aws/models/compute/subnet.rb +2 -2
- data/lib/fog/aws/models/compute/subnets.rb +3 -3
- data/lib/fog/aws/models/compute/tag.rb +2 -2
- data/lib/fog/aws/models/compute/tags.rb +3 -3
- data/lib/fog/aws/models/compute/volume.rb +3 -3
- data/lib/fog/aws/models/compute/volumes.rb +3 -3
- data/lib/fog/aws/models/compute/vpc.rb +10 -4
- data/lib/fog/aws/models/compute/vpcs.rb +3 -3
- data/lib/fog/aws/models/dns/record.rb +2 -2
- data/lib/fog/aws/models/dns/records.rb +4 -4
- data/lib/fog/aws/models/dns/zone.rb +3 -3
- data/lib/fog/aws/models/dns/zones.rb +4 -4
- data/lib/fog/aws/models/efs/file_system.rb +4 -0
- data/lib/fog/aws/models/rds/cluster.rb +9 -1
- data/lib/fog/aws/models/rds/server.rb +66 -63
- data/lib/fog/aws/models/storage/directories.rb +3 -3
- data/lib/fog/aws/models/storage/directory.rb +40 -6
- data/lib/fog/aws/models/storage/file.rb +132 -7
- data/lib/fog/aws/models/storage/files.rb +36 -6
- data/lib/fog/aws/models/storage/version.rb +2 -2
- data/lib/fog/aws/models/storage/versions.rb +3 -3
- data/lib/fog/aws/parsers/cdn/distribution.rb +2 -2
- data/lib/fog/aws/parsers/cdn/get_distribution_list.rb +2 -2
- data/lib/fog/aws/parsers/cdn/get_invalidation.rb +2 -2
- data/lib/fog/aws/parsers/cdn/get_invalidation_list.rb +2 -2
- data/lib/fog/aws/parsers/cdn/get_streaming_distribution_list.rb +2 -2
- data/lib/fog/aws/parsers/cdn/post_invalidation.rb +2 -2
- data/lib/fog/aws/parsers/cdn/streaming_distribution.rb +1 -1
- data/lib/fog/aws/parsers/compute/allocate_address.rb +2 -2
- data/lib/fog/aws/parsers/compute/assign_private_ip_addresses.rb +2 -2
- data/lib/fog/aws/parsers/compute/associate_address.rb +2 -2
- data/lib/fog/aws/parsers/compute/associate_route_table.rb +2 -2
- data/lib/fog/aws/parsers/compute/attach_network_interface.rb +2 -2
- data/lib/fog/aws/parsers/compute/attach_volume.rb +2 -2
- data/lib/fog/aws/parsers/compute/basic.rb +2 -2
- data/lib/fog/aws/parsers/compute/cancel_spot_instance_requests.rb +2 -2
- data/lib/fog/aws/parsers/compute/copy_image.rb +2 -2
- data/lib/fog/aws/parsers/compute/copy_snapshot.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_dhcp_options.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_image.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_internet_gateway.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_key_pair.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_network_acl.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_network_interface.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_route_table.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_security_group.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_snapshot.rb +3 -3
- data/lib/fog/aws/parsers/compute/create_subnet.rb +35 -8
- data/lib/fog/aws/parsers/compute/create_volume.rb +2 -2
- data/lib/fog/aws/parsers/compute/create_vpc.rb +2 -2
- data/lib/fog/aws/parsers/compute/deregister_image.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_account_attributes.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_addresses.rb +32 -11
- data/lib/fog/aws/parsers/compute/describe_availability_zones.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_classic_link_instances.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_dhcp_options.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_image_attribute.rb +122 -0
- data/lib/fog/aws/parsers/compute/describe_images.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_instance_attribute.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_instance_status.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_instances.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_internet_gateways.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_key_pairs.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_network_acls.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_network_interface_attribute.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_network_interfaces.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_placement_groups.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_regions.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_reserved_instances.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_reserved_instances_offerings.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_route_tables.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_security_groups.rb +3 -3
- data/lib/fog/aws/parsers/compute/describe_snapshots.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_spot_price_history.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_subnets.rb +35 -8
- data/lib/fog/aws/parsers/compute/describe_tags.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_volume_status.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_volumes.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_volumes_modifications.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_vpc_attribute.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_vpc_classic_link.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_vpc_classic_link_dns_support.rb +2 -2
- data/lib/fog/aws/parsers/compute/describe_vpcs.rb +2 -2
- data/lib/fog/aws/parsers/compute/detach_volume.rb +2 -2
- data/lib/fog/aws/parsers/compute/get_console_output.rb +2 -2
- data/lib/fog/aws/parsers/compute/get_password_data.rb +2 -2
- data/lib/fog/aws/parsers/compute/import_key_pair.rb +2 -2
- data/lib/fog/aws/parsers/compute/modify_subnet_attribute.rb +2 -2
- data/lib/fog/aws/parsers/compute/modify_volume.rb +2 -2
- data/lib/fog/aws/parsers/compute/monitor_unmonitor_instances.rb +2 -2
- data/lib/fog/aws/parsers/compute/move_address_to_vpc.rb +2 -2
- data/lib/fog/aws/parsers/compute/network_acl_parser.rb +2 -2
- data/lib/fog/aws/parsers/compute/network_interface_parser.rb +2 -2
- data/lib/fog/aws/parsers/compute/purchase_reserved_instances_offering.rb +2 -2
- data/lib/fog/aws/parsers/compute/register_image.rb +2 -2
- data/lib/fog/aws/parsers/compute/replace_network_acl_association.rb +2 -2
- data/lib/fog/aws/parsers/compute/restore_address_to_classic.rb +2 -2
- data/lib/fog/aws/parsers/compute/run_instances.rb +2 -2
- data/lib/fog/aws/parsers/compute/spot_datafeed_subscription.rb +2 -2
- data/lib/fog/aws/parsers/compute/spot_instance_requests.rb +2 -2
- data/lib/fog/aws/parsers/compute/start_stop_instances.rb +2 -2
- data/lib/fog/aws/parsers/compute/terminate_instances.rb +2 -2
- data/lib/fog/aws/parsers/dns/change_resource_record_sets.rb +2 -2
- data/lib/fog/aws/parsers/dns/create_hosted_zone.rb +3 -3
- data/lib/fog/aws/parsers/dns/delete_hosted_zone.rb +2 -2
- data/lib/fog/aws/parsers/dns/get_change.rb +2 -2
- data/lib/fog/aws/parsers/dns/get_hosted_zone.rb +5 -5
- data/lib/fog/aws/parsers/dns/health_check.rb +2 -2
- data/lib/fog/aws/parsers/dns/list_health_checks.rb +2 -2
- data/lib/fog/aws/parsers/dns/list_hosted_zones.rb +5 -3
- data/lib/fog/aws/parsers/dns/list_resource_record_sets.rb +2 -2
- data/lib/fog/aws/parsers/elb/describe_load_balancers.rb +3 -3
- data/lib/fog/aws/parsers/elbv2/create_load_balancer.rb +88 -0
- data/lib/fog/aws/parsers/elbv2/describe_listeners.rb +110 -0
- data/lib/fog/aws/parsers/elbv2/describe_load_balancers.rb +88 -0
- data/lib/fog/aws/parsers/elbv2/describe_tags.rb +53 -0
- data/lib/fog/aws/parsers/elbv2/empty.rb +10 -0
- data/lib/fog/aws/parsers/rds/db_parser.rb +41 -2
- data/lib/fog/aws/parsers/storage/access_control_list.rb +2 -2
- data/lib/fog/aws/parsers/storage/complete_multipart_upload.rb +2 -2
- data/lib/fog/aws/parsers/storage/copy_object.rb +2 -2
- data/lib/fog/aws/parsers/storage/cors_configuration.rb +2 -2
- data/lib/fog/aws/parsers/storage/delete_multiple_objects.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket_lifecycle.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket_location.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket_logging.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket_notification.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket_object_versions.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket_tagging.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket_versioning.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_bucket_website.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_object_tagging.rb +33 -0
- data/lib/fog/aws/parsers/storage/get_request_payment.rb +2 -2
- data/lib/fog/aws/parsers/storage/get_service.rb +2 -2
- data/lib/fog/aws/parsers/storage/initiate_multipart_upload.rb +2 -2
- data/lib/fog/aws/parsers/storage/list_multipart_uploads.rb +2 -2
- data/lib/fog/aws/parsers/storage/list_parts.rb +2 -2
- data/lib/fog/aws/parsers/storage/upload_part_copy_object.rb +18 -0
- data/lib/fog/aws/parsers/sts/assume_role_with_web_identity.rb +1 -1
- data/lib/fog/aws/requests/auto_scaling/set_instance_protection.rb +67 -0
- data/lib/fog/aws/requests/cdn/delete_distribution.rb +6 -6
- data/lib/fog/aws/requests/cdn/delete_streaming_distribution.rb +6 -6
- data/lib/fog/aws/requests/cdn/get_distribution.rb +5 -5
- data/lib/fog/aws/requests/cdn/get_distribution_list.rb +3 -3
- data/lib/fog/aws/requests/cdn/get_invalidation.rb +5 -5
- data/lib/fog/aws/requests/cdn/get_invalidation_list.rb +4 -4
- data/lib/fog/aws/requests/cdn/get_streaming_distribution.rb +5 -5
- data/lib/fog/aws/requests/cdn/get_streaming_distribution_list.rb +3 -3
- data/lib/fog/aws/requests/cdn/post_distribution.rb +6 -6
- data/lib/fog/aws/requests/cdn/post_invalidation.rb +5 -5
- data/lib/fog/aws/requests/cdn/post_streaming_distribution.rb +6 -6
- data/lib/fog/aws/requests/cdn/put_distribution_config.rb +7 -7
- data/lib/fog/aws/requests/cdn/put_streaming_distribution_config.rb +7 -7
- data/lib/fog/aws/requests/cloud_watch/put_metric_alarm.rb +2 -2
- data/lib/fog/aws/requests/compute/allocate_address.rb +4 -4
- data/lib/fog/aws/requests/compute/assign_private_ip_addresses.rb +5 -5
- data/lib/fog/aws/requests/compute/associate_address.rb +7 -7
- data/lib/fog/aws/requests/compute/associate_dhcp_options.rb +4 -4
- data/lib/fog/aws/requests/compute/associate_route_table.rb +5 -5
- data/lib/fog/aws/requests/compute/attach_classic_link_vpc.rb +7 -7
- data/lib/fog/aws/requests/compute/attach_internet_gateway.rb +4 -4
- data/lib/fog/aws/requests/compute/attach_network_interface.rb +6 -6
- data/lib/fog/aws/requests/compute/attach_volume.rb +7 -7
- data/lib/fog/aws/requests/compute/authorize_security_group_egress.rb +6 -6
- data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +11 -11
- data/lib/fog/aws/requests/compute/cancel_spot_instance_requests.rb +4 -4
- data/lib/fog/aws/requests/compute/copy_image.rb +3 -3
- data/lib/fog/aws/requests/compute/copy_snapshot.rb +3 -3
- data/lib/fog/aws/requests/compute/create_dhcp_options.rb +3 -3
- data/lib/fog/aws/requests/compute/create_image.rb +3 -3
- data/lib/fog/aws/requests/compute/create_internet_gateway.rb +3 -3
- data/lib/fog/aws/requests/compute/create_key_pair.rb +4 -4
- data/lib/fog/aws/requests/compute/create_network_acl.rb +4 -4
- data/lib/fog/aws/requests/compute/create_network_acl_entry.rb +5 -5
- data/lib/fog/aws/requests/compute/create_network_interface.rb +6 -6
- data/lib/fog/aws/requests/compute/create_placement_group.rb +3 -3
- data/lib/fog/aws/requests/compute/create_route.rb +10 -10
- data/lib/fog/aws/requests/compute/create_route_table.rb +4 -4
- data/lib/fog/aws/requests/compute/create_security_group.rb +4 -4
- data/lib/fog/aws/requests/compute/create_snapshot.rb +3 -3
- data/lib/fog/aws/requests/compute/create_spot_datafeed_subscription.rb +3 -3
- data/lib/fog/aws/requests/compute/create_subnet.rb +6 -6
- data/lib/fog/aws/requests/compute/create_tags.rb +3 -3
- data/lib/fog/aws/requests/compute/create_volume.rb +11 -11
- data/lib/fog/aws/requests/compute/create_vpc.rb +7 -7
- data/lib/fog/aws/requests/compute/delete_dhcp_options.rb +4 -4
- data/lib/fog/aws/requests/compute/delete_internet_gateway.rb +4 -4
- data/lib/fog/aws/requests/compute/delete_key_pair.rb +3 -3
- data/lib/fog/aws/requests/compute/delete_network_acl.rb +5 -5
- data/lib/fog/aws/requests/compute/delete_network_acl_entry.rb +5 -5
- data/lib/fog/aws/requests/compute/delete_network_interface.rb +5 -5
- data/lib/fog/aws/requests/compute/delete_placement_group.rb +3 -3
- data/lib/fog/aws/requests/compute/delete_route.rb +6 -6
- data/lib/fog/aws/requests/compute/delete_route_table.rb +5 -5
- data/lib/fog/aws/requests/compute/delete_security_group.rb +9 -9
- data/lib/fog/aws/requests/compute/delete_snapshot.rb +4 -4
- data/lib/fog/aws/requests/compute/delete_spot_datafeed_subscription.rb +3 -3
- data/lib/fog/aws/requests/compute/delete_subnet.rb +4 -4
- data/lib/fog/aws/requests/compute/delete_tags.rb +3 -3
- data/lib/fog/aws/requests/compute/delete_volume.rb +5 -5
- data/lib/fog/aws/requests/compute/delete_vpc.rb +4 -4
- data/lib/fog/aws/requests/compute/deregister_image.rb +4 -4
- data/lib/fog/aws/requests/compute/describe_account_attributes.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_addresses.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_availability_zones.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_classic_link_instances.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_dhcp_options.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_image_attribute.rb +74 -0
- data/lib/fog/aws/requests/compute/describe_images.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_instance_attribute.rb +4 -4
- data/lib/fog/aws/requests/compute/describe_instance_status.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_instances.rb +4 -4
- data/lib/fog/aws/requests/compute/describe_internet_gateways.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_key_pairs.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_network_acls.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_network_interface_attribute.rb +5 -5
- data/lib/fog/aws/requests/compute/describe_network_interfaces.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_placement_groups.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_regions.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_reserved_instances.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_reserved_instances_offerings.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_route_tables.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_security_groups.rb +15 -4
- data/lib/fog/aws/requests/compute/describe_snapshots.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_spot_datafeed_subscription.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_spot_instance_requests.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_spot_price_history.rb +5 -5
- data/lib/fog/aws/requests/compute/describe_subnets.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_tags.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_volume_status.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_volumes.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_volumes_modifications.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_vpc_attribute.rb +5 -5
- data/lib/fog/aws/requests/compute/describe_vpc_classic_link.rb +4 -4
- data/lib/fog/aws/requests/compute/describe_vpc_classic_link_dns_support.rb +3 -3
- data/lib/fog/aws/requests/compute/describe_vpcs.rb +3 -3
- data/lib/fog/aws/requests/compute/detach_classic_link_vpc.rb +5 -5
- data/lib/fog/aws/requests/compute/detach_internet_gateway.rb +4 -4
- data/lib/fog/aws/requests/compute/detach_network_interface.rb +4 -4
- data/lib/fog/aws/requests/compute/detach_volume.rb +5 -5
- data/lib/fog/aws/requests/compute/disable_vpc_classic_link.rb +4 -4
- data/lib/fog/aws/requests/compute/disable_vpc_classic_link_dns_support.rb +4 -4
- data/lib/fog/aws/requests/compute/disassociate_address.rb +5 -5
- data/lib/fog/aws/requests/compute/disassociate_route_table.rb +5 -5
- data/lib/fog/aws/requests/compute/enable_vpc_classic_link.rb +4 -4
- data/lib/fog/aws/requests/compute/enable_vpc_classic_link_dns_support.rb +4 -4
- data/lib/fog/aws/requests/compute/get_console_output.rb +4 -4
- data/lib/fog/aws/requests/compute/get_password_data.rb +4 -4
- data/lib/fog/aws/requests/compute/import_key_pair.rb +4 -4
- data/lib/fog/aws/requests/compute/modify_image_attribute.rb +4 -4
- data/lib/fog/aws/requests/compute/modify_instance_attribute.rb +3 -3
- data/lib/fog/aws/requests/compute/modify_instance_placement.rb +33 -0
- data/lib/fog/aws/requests/compute/modify_network_interface_attribute.rb +8 -8
- data/lib/fog/aws/requests/compute/modify_snapshot_attribute.rb +3 -3
- data/lib/fog/aws/requests/compute/modify_subnet_attribute.rb +3 -3
- data/lib/fog/aws/requests/compute/modify_volume.rb +5 -5
- data/lib/fog/aws/requests/compute/modify_volume_attribute.rb +4 -4
- data/lib/fog/aws/requests/compute/modify_vpc_attribute.rb +7 -7
- data/lib/fog/aws/requests/compute/monitor_instances.rb +4 -4
- data/lib/fog/aws/requests/compute/move_address_to_vpc.rb +4 -4
- data/lib/fog/aws/requests/compute/purchase_reserved_instances_offering.rb +3 -3
- data/lib/fog/aws/requests/compute/reboot_instances.rb +4 -4
- data/lib/fog/aws/requests/compute/register_image.rb +4 -4
- data/lib/fog/aws/requests/compute/release_address.rb +5 -5
- data/lib/fog/aws/requests/compute/replace_network_acl_association.rb +5 -5
- data/lib/fog/aws/requests/compute/replace_network_acl_entry.rb +5 -5
- data/lib/fog/aws/requests/compute/replace_route.rb +10 -10
- data/lib/fog/aws/requests/compute/request_spot_instances.rb +8 -8
- data/lib/fog/aws/requests/compute/reset_network_interface_attribute.rb +6 -6
- data/lib/fog/aws/requests/compute/restore_address_to_classic.rb +5 -5
- data/lib/fog/aws/requests/compute/revoke_security_group_egress.rb +4 -4
- data/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +4 -4
- data/lib/fog/aws/requests/compute/run_instances.rb +24 -4
- data/lib/fog/aws/requests/compute/start_instances.rb +4 -4
- data/lib/fog/aws/requests/compute/stop_instances.rb +15 -7
- data/lib/fog/aws/requests/compute/terminate_instances.rb +4 -4
- data/lib/fog/aws/requests/compute/unmonitor_instances.rb +4 -4
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +6 -139
- data/lib/fog/aws/requests/dns/create_health_check.rb +3 -3
- data/lib/fog/aws/requests/dns/create_hosted_zone.rb +4 -4
- data/lib/fog/aws/requests/dns/delete_health_check.rb +2 -2
- data/lib/fog/aws/requests/dns/delete_hosted_zone.rb +4 -4
- data/lib/fog/aws/requests/dns/get_change.rb +4 -4
- data/lib/fog/aws/requests/dns/get_health_check.rb +3 -3
- data/lib/fog/aws/requests/dns/get_hosted_zone.rb +4 -4
- data/lib/fog/aws/requests/dns/list_health_checks.rb +3 -3
- data/lib/fog/aws/requests/dns/list_hosted_zones.rb +3 -3
- data/lib/fog/aws/requests/dns/list_resource_record_sets.rb +5 -5
- data/lib/fog/aws/requests/dynamodb/update_item.rb +6 -5
- data/lib/fog/aws/requests/efs/create_file_system.rb +15 -3
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +7 -7
- data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/elb/describe_instance_health.rb +1 -1
- data/lib/fog/aws/requests/elb/describe_tags.rb +1 -1
- data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/elbv2/add_tags.rb +45 -0
- data/lib/fog/aws/requests/elbv2/create_load_balancer.rb +160 -0
- data/lib/fog/aws/requests/elbv2/describe_listeners.rb +38 -0
- data/lib/fog/aws/requests/elbv2/describe_load_balancers.rb +100 -0
- data/lib/fog/aws/requests/elbv2/describe_tags.rb +50 -0
- data/lib/fog/aws/requests/elbv2/remove_tags.rb +45 -0
- data/lib/fog/aws/requests/lambda/invoke.rb +7 -7
- data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +1 -1
- data/lib/fog/aws/requests/rds/create_db_instance.rb +1 -1
- data/lib/fog/aws/requests/rds/create_db_subnet_group.rb +2 -2
- data/lib/fog/aws/requests/rds/modify_db_instance.rb +1 -1
- data/lib/fog/aws/requests/rds/revoke_db_security_group_ingress.rb +1 -1
- data/lib/fog/aws/requests/storage/abort_multipart_upload.rb +3 -3
- data/lib/fog/aws/requests/storage/acl_utils.rb +3 -3
- data/lib/fog/aws/requests/storage/complete_multipart_upload.rb +4 -4
- data/lib/fog/aws/requests/storage/copy_object.rb +3 -3
- data/lib/fog/aws/requests/storage/cors_utils.rb +3 -3
- data/lib/fog/aws/requests/storage/delete_bucket.rb +2 -2
- data/lib/fog/aws/requests/storage/delete_bucket_cors.rb +2 -2
- data/lib/fog/aws/requests/storage/delete_bucket_lifecycle.rb +2 -2
- data/lib/fog/aws/requests/storage/delete_bucket_policy.rb +2 -2
- data/lib/fog/aws/requests/storage/delete_bucket_tagging.rb +2 -2
- data/lib/fog/aws/requests/storage/delete_bucket_website.rb +2 -2
- data/lib/fog/aws/requests/storage/delete_multiple_objects.rb +21 -11
- data/lib/fog/aws/requests/storage/delete_object.rb +2 -2
- data/lib/fog/aws/requests/storage/delete_object_url.rb +2 -2
- data/lib/fog/aws/requests/storage/get_bucket.rb +3 -3
- data/lib/fog/aws/requests/storage/get_bucket_acl.rb +4 -4
- data/lib/fog/aws/requests/storage/get_bucket_cors.rb +4 -4
- data/lib/fog/aws/requests/storage/get_bucket_lifecycle.rb +3 -3
- data/lib/fog/aws/requests/storage/get_bucket_location.rb +5 -6
- data/lib/fog/aws/requests/storage/get_bucket_logging.rb +3 -3
- data/lib/fog/aws/requests/storage/get_bucket_notification.rb +3 -3
- data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +3 -3
- data/lib/fog/aws/requests/storage/get_bucket_policy.rb +2 -2
- data/lib/fog/aws/requests/storage/get_bucket_tagging.rb +3 -3
- data/lib/fog/aws/requests/storage/get_bucket_versioning.rb +3 -3
- data/lib/fog/aws/requests/storage/get_bucket_website.rb +3 -3
- data/lib/fog/aws/requests/storage/get_object.rb +2 -2
- data/lib/fog/aws/requests/storage/get_object_acl.rb +4 -4
- data/lib/fog/aws/requests/storage/get_object_http_url.rb +2 -2
- data/lib/fog/aws/requests/storage/get_object_https_url.rb +2 -2
- data/lib/fog/aws/requests/storage/get_object_tagging.rb +41 -0
- data/lib/fog/aws/requests/storage/get_object_torrent.rb +2 -2
- data/lib/fog/aws/requests/storage/get_object_url.rb +2 -2
- data/lib/fog/aws/requests/storage/get_request_payment.rb +3 -3
- data/lib/fog/aws/requests/storage/get_service.rb +5 -5
- data/lib/fog/aws/requests/storage/head_bucket.rb +2 -2
- data/lib/fog/aws/requests/storage/head_object.rb +2 -2
- data/lib/fog/aws/requests/storage/head_object_url.rb +2 -2
- data/lib/fog/aws/requests/storage/initiate_multipart_upload.rb +4 -4
- data/lib/fog/aws/requests/storage/list_multipart_uploads.rb +3 -3
- data/lib/fog/aws/requests/storage/list_parts.rb +3 -3
- data/lib/fog/aws/requests/storage/post_object_hidden_fields.rb +2 -2
- data/lib/fog/aws/requests/storage/post_object_restore.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket_acl.rb +4 -4
- data/lib/fog/aws/requests/storage/put_bucket_cors.rb +4 -4
- data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket_logging.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket_notification.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket_policy.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket_tagging.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket_versioning.rb +2 -2
- data/lib/fog/aws/requests/storage/put_bucket_website.rb +2 -2
- data/lib/fog/aws/requests/storage/put_object.rb +9 -7
- data/lib/fog/aws/requests/storage/put_object_acl.rb +4 -4
- data/lib/fog/aws/requests/storage/put_object_tagging.rb +42 -0
- data/lib/fog/aws/requests/storage/put_object_url.rb +2 -2
- data/lib/fog/aws/requests/storage/put_request_payment.rb +2 -2
- data/lib/fog/aws/requests/storage/shared_mock_methods.rb +4 -3
- data/lib/fog/aws/requests/storage/sync_clock.rb +2 -2
- data/lib/fog/aws/requests/storage/upload_part.rb +3 -3
- data/lib/fog/aws/requests/storage/upload_part_copy.rb +119 -0
- data/lib/fog/aws/requests/sts/assume_role_with_web_identity.rb +7 -6
- data/lib/fog/aws/service_mapper.rb +5 -5
- data/lib/fog/aws/storage.rb +50 -19
- data/lib/fog/aws/version.rb +1 -1
- data/tests/credentials_tests.rb +102 -39
- data/tests/helper.rb +2 -2
- data/tests/helpers/collection_helper.rb +3 -4
- data/tests/helpers/compute/flavors_helper.rb +1 -5
- data/tests/helpers/compute/server_helper.rb +1 -3
- data/tests/helpers/compute/servers_helper.rb +0 -2
- data/tests/helpers/dns_helper.rb +32 -31
- data/tests/helpers/formats_helper.rb +58 -56
- data/tests/helpers/formats_helper_tests.rb +22 -25
- data/tests/helpers/mock_helper.rb +96 -96
- data/tests/helpers/model_helper.rb +4 -5
- data/tests/helpers/responds_to_helper.rb +1 -1
- data/tests/helpers/schema_validator_tests.rb +21 -24
- data/tests/helpers/succeeds_helper.rb +2 -2
- data/tests/models/compute/address_tests.rb +1 -1
- data/tests/models/compute/network_acl_tests.rb +4 -4
- data/tests/models/compute/security_group_tests.rb +1 -1
- data/tests/models/compute/volume_tests.rb +1 -1
- data/tests/models/elb/model_tests.rb +1 -1
- data/tests/models/storage/directory_tests.rb +113 -2
- data/tests/models/storage/files_tests.rb +32 -0
- data/tests/parsers/compute/describe_images_tests.rb +2 -2
- data/tests/parsers/elb/describe_load_balancers.rb +1 -1
- data/tests/parsers/elbv2/create_load_balancer_tests.rb +48 -0
- data/tests/parsers/elbv2/describe_listeners_tests.rb +76 -0
- data/tests/parsers/elbv2/describe_load_balancers_tests.rb +54 -0
- data/tests/parsers/elbv2/describe_tags_tests.rb +35 -0
- data/tests/requests/auto_scaling/auto_scaling_tests.rb +8 -0
- data/tests/requests/compute/address_tests.rb +9 -9
- data/tests/requests/compute/assign_private_ip_tests.rb +3 -3
- data/tests/requests/compute/image_tests.rb +11 -2
- data/tests/requests/compute/instance_attrib_tests.rb +1 -1
- data/tests/requests/compute/instance_tests.rb +5 -5
- data/tests/requests/compute/internet_gateway_tests.rb +1 -1
- data/tests/requests/compute/key_pair_tests.rb +1 -1
- data/tests/requests/compute/network_acl_tests.rb +2 -2
- data/tests/requests/compute/network_interface_tests.rb +6 -6
- data/tests/requests/compute/placement_group_tests.rb +2 -2
- data/tests/requests/compute/region_tests.rb +4 -4
- data/tests/requests/compute/route_tests.rb +24 -24
- data/tests/requests/compute/security_group_tests.rb +14 -14
- data/tests/requests/compute/snapshot_tests.rb +1 -1
- data/tests/requests/compute/spot_datafeed_subscription_tests.rb +1 -1
- data/tests/requests/compute/subnet_tests.rb +3 -3
- data/tests/requests/compute/tag_tests.rb +3 -3
- data/tests/requests/compute/volume_tests.rb +11 -11
- data/tests/requests/compute/vpc_tests.rb +9 -3
- data/tests/requests/dns/change_resource_record_sets_tests.rb +3 -3
- data/tests/requests/efs/helper.rb +2 -0
- data/tests/requests/elbv2/helper.rb +66 -0
- data/tests/requests/elbv2/load_balancer_tests.rb +50 -0
- data/tests/requests/glacier/tree_hash_tests.rb +29 -0
- data/tests/requests/storage/acl_utils_tests.rb +24 -24
- data/tests/requests/storage/bucket_tests.rb +1 -1
- data/tests/requests/storage/cors_utils_tests.rb +14 -14
- data/tests/requests/storage/multipart_copy_tests.rb +93 -0
- data/tests/requests/storage/object_tests.rb +7 -0
- data/tests/requests/storage/versioning_tests.rb +38 -0
- data/tests/requests/sts/assume_role_with_web_identity_tests.rb +2 -0
- data/tests/signaturev4_tests.rb +21 -22
- data/tests/signed_params_tests.rb +7 -7
- data/tests/storage_tests.rb +1 -1
- metadata +61 -17
- data/.travis.yml +0 -55
- data/gemfiles/Gemfile-ruby-2.0 +0 -7
@@ -0,0 +1,18 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module Storage
|
5
|
+
class UploadPartCopyObject < Fog::Parsers::Base
|
6
|
+
def end_element(name)
|
7
|
+
case name
|
8
|
+
when 'ETag'
|
9
|
+
@response[name] = value.gsub('"', '')
|
10
|
+
when 'LastModified'
|
11
|
+
@response[name] = Time.parse(value)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class AutoScaling
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/auto_scaling/basic'
|
6
|
+
|
7
|
+
# Sets or removes scale in instance protection from one or more instances from the specified
|
8
|
+
# Auto Scaling group.
|
9
|
+
#
|
10
|
+
# cli equiv:
|
11
|
+
# `aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --protected-from-scale-in`
|
12
|
+
#
|
13
|
+
# ==== Parameters
|
14
|
+
#
|
15
|
+
# * AutoScalingGroupName<~String> - The name of the Auto Scaling group``
|
16
|
+
# * 'InstanceIds'<~Array> - The list of Auto Scaling instances to set or remove protection on.
|
17
|
+
# * 'ProtectedFromScaleIn'<~Boolean> - Protection state
|
18
|
+
#
|
19
|
+
# ==== See Also
|
20
|
+
#
|
21
|
+
# https://docs.aws.amazon.com/autoscaling/latest/APIReference/API_SetInstanceProtection.html
|
22
|
+
|
23
|
+
ExpectedOptions[:asg_name] = %w[AutoScalingGroupName]
|
24
|
+
ExpectedOptions[:instance_ids] = %w[InstanceIds]
|
25
|
+
ExpectedOptions[:protected_from_scale_in] = %w[ProtectedFromScaleIn]
|
26
|
+
|
27
|
+
def set_instance_protection(auto_scaling_group_name, options = {})
|
28
|
+
if instance_ids = options.delete('InstanceIds')
|
29
|
+
options.merge!(AWS.indexed_param('InstanceIds.member.%d', [*instance_ids]))
|
30
|
+
end
|
31
|
+
protected_from_scale_in = options.delete('ProtectedFromScaleIn')
|
32
|
+
|
33
|
+
request({
|
34
|
+
'Action' => 'SetInstanceProtection',
|
35
|
+
'AutoScalingGroupName' => auto_scaling_group_name,
|
36
|
+
'ProtectedFromScaleIn' => protected_from_scale_in,
|
37
|
+
:parser => Fog::Parsers::AWS::AutoScaling::Basic.new
|
38
|
+
}.merge!(options))
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class Mock
|
43
|
+
def set_instance_protection(auto_scaling_group_name, options = {})
|
44
|
+
unexpected_options = options.keys - \
|
45
|
+
ExpectedOptions[:asg_name] - \
|
46
|
+
ExpectedOptions[:instance_ids] - \
|
47
|
+
ExpectedOptions[:protected_from_scale_in]
|
48
|
+
|
49
|
+
unless unexpected_options.empty?
|
50
|
+
raise Fog::AWS::AutoScaling::ValidationError.new("Options #{unexpected_options.join(',')} should not be included in request")
|
51
|
+
end
|
52
|
+
|
53
|
+
unless self.data[:auto_scaling_groups].key?(auto_scaling_group_name)
|
54
|
+
raise Fog::AWS::AutoScaling::ValidationError.new('AutoScalingGroup name not found - null')
|
55
|
+
end
|
56
|
+
|
57
|
+
response = Excon::Response.new
|
58
|
+
response.status = 200
|
59
|
+
response.body = {
|
60
|
+
'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
|
61
|
+
}
|
62
|
+
response
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
# Delete a distribution from CloudFront.
|
6
6
|
#
|
@@ -26,13 +26,13 @@ module Fog
|
|
26
26
|
|
27
27
|
if distribution
|
28
28
|
if distribution['ETag'] != etag
|
29
|
-
Fog::CDN::
|
29
|
+
Fog::AWS::CDN::Mock.error(:invalid_if_match_version)
|
30
30
|
end
|
31
31
|
unless distribution['DistributionConfig']['CallerReference']
|
32
|
-
Fog::CDN::
|
32
|
+
Fog::AWS::CDN::Mock.error(:illegal_update)
|
33
33
|
end
|
34
34
|
if distribution['DistributionConfig']['Enabled']
|
35
|
-
Fog::CDN::
|
35
|
+
Fog::AWS::CDN::Mock.error(:distribution_not_disabled)
|
36
36
|
end
|
37
37
|
|
38
38
|
self.data[:distributions].delete(distribution_id)
|
@@ -43,7 +43,7 @@ module Fog
|
|
43
43
|
response.body = "x-amz-request-id: #{Fog::AWS::Mock.request_id}"
|
44
44
|
response
|
45
45
|
else
|
46
|
-
Fog::CDN::
|
46
|
+
Fog::AWS::CDN::Mock.error(:no_such_distribution)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
# Delete a streaming distribution from CloudFront.
|
6
6
|
#
|
@@ -26,13 +26,13 @@ module Fog
|
|
26
26
|
|
27
27
|
if distribution
|
28
28
|
if distribution['ETag'] != etag
|
29
|
-
Fog::CDN::
|
29
|
+
Fog::AWS::CDN::Mock.error(:invalid_if_match_version)
|
30
30
|
end
|
31
31
|
unless distribution['StreamingDistributionConfig']['CallerReference']
|
32
|
-
Fog::CDN::
|
32
|
+
Fog::AWS::CDN::Mock.error(:illegal_update)
|
33
33
|
end
|
34
34
|
if distribution['StreamingDistributionConfig']['Enabled']
|
35
|
-
Fog::CDN::
|
35
|
+
Fog::AWS::CDN::Mock.error(:distribution_not_disabled)
|
36
36
|
end
|
37
37
|
|
38
38
|
self.data[:streaming_distributions].delete(distribution_id)
|
@@ -42,7 +42,7 @@ module Fog
|
|
42
42
|
response.body = "x-amz-request-id: #{Fog::AWS::Mock.request_id}"
|
43
43
|
response
|
44
44
|
else
|
45
|
-
Fog::CDN::
|
45
|
+
Fog::AWS::CDN::Mock.error(:no_such_streaming_distribution)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/distribution'
|
6
6
|
|
@@ -42,7 +42,7 @@ module Fog
|
|
42
42
|
:expects => 200,
|
43
43
|
:idempotent => true,
|
44
44
|
:method => 'GET',
|
45
|
-
:parser => Fog::Parsers::CDN::
|
45
|
+
:parser => Fog::Parsers::AWS::CDN::Distribution.new,
|
46
46
|
:path => "/distribution/#{distribution_id}"
|
47
47
|
})
|
48
48
|
end
|
@@ -54,14 +54,14 @@ module Fog
|
|
54
54
|
|
55
55
|
distribution = self.data[:distributions][distribution_id]
|
56
56
|
unless distribution
|
57
|
-
Fog::CDN::
|
57
|
+
Fog::AWS::CDN::Mock.error(:no_such_distribution)
|
58
58
|
end
|
59
59
|
|
60
60
|
if distribution['Status'] == 'InProgress' && (Time.now - Time.parse(distribution['LastModifiedTime']) >= Fog::Mock.delay * 2)
|
61
61
|
distribution['Status'] = 'Deployed'
|
62
62
|
end
|
63
63
|
|
64
|
-
etag = Fog::CDN::
|
64
|
+
etag = Fog::AWS::CDN::Mock.generic_id
|
65
65
|
response.status = 200
|
66
66
|
response.body = {
|
67
67
|
'InProgressInvalidationBatches' => 0,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/get_distribution_list'
|
6
6
|
|
@@ -42,7 +42,7 @@ module Fog
|
|
42
42
|
:expects => 200,
|
43
43
|
:idempotent => true,
|
44
44
|
:method => 'GET',
|
45
|
-
:parser => Fog::Parsers::CDN::
|
45
|
+
:parser => Fog::Parsers::AWS::CDN::GetDistributionList.new,
|
46
46
|
:path => "/distribution",
|
47
47
|
:query => options
|
48
48
|
})
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/get_invalidation'
|
6
6
|
|
@@ -24,7 +24,7 @@ module Fog
|
|
24
24
|
:expects => 200,
|
25
25
|
:idempotent => true,
|
26
26
|
:method => 'GET',
|
27
|
-
:parser => Fog::Parsers::CDN::
|
27
|
+
:parser => Fog::Parsers::AWS::CDN::GetInvalidation.new,
|
28
28
|
:path => "/distribution/#{distribution_id}/invalidation/#{invalidation_id}"
|
29
29
|
})
|
30
30
|
end
|
@@ -34,12 +34,12 @@ module Fog
|
|
34
34
|
def get_invalidation(distribution_id, invalidation_id)
|
35
35
|
distribution = self.data[:distributions][distribution_id]
|
36
36
|
unless distribution
|
37
|
-
Fog::CDN::
|
37
|
+
Fog::AWS::CDN::Mock.error(:no_such_distribution)
|
38
38
|
end
|
39
39
|
|
40
40
|
invalidation = self.data[:invalidations][distribution_id][invalidation_id]
|
41
41
|
unless invalidation
|
42
|
-
Fog::CDN::
|
42
|
+
Fog::AWS::CDN::Mock.error(:no_such_invalidation)
|
43
43
|
end
|
44
44
|
|
45
45
|
if invalidation['Status'] == 'InProgress' && (Time.now - Time.parse(invalidation['CreateTime']) >= Fog::Mock.delay * 2)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/get_invalidation_list'
|
6
6
|
|
@@ -27,7 +27,7 @@ module Fog
|
|
27
27
|
:expects => 200,
|
28
28
|
:idempotent => true,
|
29
29
|
:method => 'GET',
|
30
|
-
:parser => Fog::Parsers::CDN::
|
30
|
+
:parser => Fog::Parsers::AWS::CDN::GetInvalidationList.new,
|
31
31
|
:path => "/distribution/#{distribution_id}/invalidation",
|
32
32
|
:query => options
|
33
33
|
})
|
@@ -38,7 +38,7 @@ module Fog
|
|
38
38
|
def get_invalidation_list(distribution_id, options = {})
|
39
39
|
distribution = self.data[:distributions][distribution_id]
|
40
40
|
unless distribution
|
41
|
-
Fog::CDN::
|
41
|
+
Fog::AWS::CDN::Mock.error(:no_such_distribution)
|
42
42
|
end
|
43
43
|
|
44
44
|
invalidations = (self.data[:invalidations][distribution_id] || {}).values
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/streaming_distribution'
|
6
6
|
|
@@ -35,7 +35,7 @@ module Fog
|
|
35
35
|
:expects => 200,
|
36
36
|
:idempotent => true,
|
37
37
|
:method => 'GET',
|
38
|
-
:parser => Fog::Parsers::CDN::
|
38
|
+
:parser => Fog::Parsers::AWS::CDN::StreamingDistribution.new,
|
39
39
|
:path => "/streaming-distribution/#{distribution_id}"
|
40
40
|
})
|
41
41
|
end
|
@@ -47,14 +47,14 @@ module Fog
|
|
47
47
|
|
48
48
|
distribution = self.data[:streaming_distributions][distribution_id]
|
49
49
|
unless distribution
|
50
|
-
Fog::CDN::
|
50
|
+
Fog::AWS::CDN::Mock.error(:no_such_streaming_distribution)
|
51
51
|
end
|
52
52
|
|
53
53
|
if distribution['Status'] == 'InProgress' && (Time.now - Time.parse(distribution['LastModifiedTime']) >= Fog::Mock.delay * 2)
|
54
54
|
distribution['Status'] = 'Deployed'
|
55
55
|
end
|
56
56
|
|
57
|
-
etag = Fog::CDN::
|
57
|
+
etag = Fog::AWS::CDN::Mock.generic_id
|
58
58
|
response.status = 200
|
59
59
|
response.body = distribution.reject { |k,v| k == 'ETag' }
|
60
60
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/get_streaming_distribution_list'
|
6
6
|
|
@@ -42,7 +42,7 @@ module Fog
|
|
42
42
|
:expects => 200,
|
43
43
|
:idempotent => true,
|
44
44
|
:method => 'GET',
|
45
|
-
:parser => Fog::Parsers::CDN::
|
45
|
+
:parser => Fog::Parsers::AWS::CDN::GetStreamingDistributionList.new,
|
46
46
|
:path => "/streaming-distribution",
|
47
47
|
:query => options
|
48
48
|
})
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/distribution'
|
6
6
|
|
@@ -77,7 +77,7 @@ module Fog
|
|
77
77
|
:headers => { 'Content-Type' => 'text/xml' },
|
78
78
|
:idempotent => true,
|
79
79
|
:method => 'POST',
|
80
|
-
:parser => Fog::Parsers::CDN::
|
80
|
+
:parser => Fog::Parsers::AWS::CDN::Distribution.new,
|
81
81
|
:path => "/distribution"
|
82
82
|
})
|
83
83
|
end
|
@@ -88,7 +88,7 @@ module Fog
|
|
88
88
|
|
89
89
|
def post_distribution(options = {})
|
90
90
|
if self.data[:distributions].values.any? { |d| (d['CNAME'] & (options['CNAME']||[])).empty? }
|
91
|
-
Fog::CDN::
|
91
|
+
Fog::AWS::CDN::Mock.error(:invalid_argument, 'CNAME is already in use')
|
92
92
|
end
|
93
93
|
|
94
94
|
response = Excon::Response.new
|
@@ -96,10 +96,10 @@ module Fog
|
|
96
96
|
response.status = 201
|
97
97
|
options['CallerReference'] = Time.now.to_i.to_s
|
98
98
|
|
99
|
-
dist_id = Fog::CDN::
|
99
|
+
dist_id = Fog::AWS::CDN::Mock.distribution_id
|
100
100
|
|
101
101
|
distribution = {
|
102
|
-
'DomainName' => Fog::CDN::
|
102
|
+
'DomainName' => Fog::AWS::CDN::Mock.domain_name,
|
103
103
|
'Id' => dist_id,
|
104
104
|
'Status' => 'InProgress',
|
105
105
|
'LastModifiedTime' => Time.now.utc.iso8601,
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/post_invalidation'
|
6
6
|
|
@@ -35,7 +35,7 @@ module Fog
|
|
35
35
|
:headers => {'Content-Type' => 'text/xml'},
|
36
36
|
:idempotent => true,
|
37
37
|
:method => 'POST',
|
38
|
-
:parser => Fog::Parsers::CDN::
|
38
|
+
:parser => Fog::Parsers::AWS::CDN::PostInvalidation.new,
|
39
39
|
:path => "/distribution/#{distribution_id}/invalidation"
|
40
40
|
})
|
41
41
|
end
|
@@ -45,7 +45,7 @@ module Fog
|
|
45
45
|
def post_invalidation(distribution_id, paths, caller_reference = Time.now.to_i.to_s)
|
46
46
|
distribution = self.data[:distributions][distribution_id]
|
47
47
|
if distribution
|
48
|
-
invalidation_id = Fog::CDN::
|
48
|
+
invalidation_id = Fog::AWS::CDN::Mock.distribution_id
|
49
49
|
invalidation = {
|
50
50
|
'Id' => invalidation_id,
|
51
51
|
'Status' => 'InProgress',
|
@@ -66,7 +66,7 @@ module Fog
|
|
66
66
|
response.body = invalidation
|
67
67
|
response
|
68
68
|
else
|
69
|
-
Fog::CDN::
|
69
|
+
Fog::AWS::CDN::Mock.error(:no_such_distribution)
|
70
70
|
end
|
71
71
|
end
|
72
72
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module AWS
|
3
|
+
class CDN
|
4
4
|
class Real
|
5
5
|
require 'fog/aws/parsers/cdn/streaming_distribution'
|
6
6
|
|
@@ -64,7 +64,7 @@ module Fog
|
|
64
64
|
:headers => { 'Content-Type' => 'text/xml' },
|
65
65
|
:idempotent => true,
|
66
66
|
:method => 'POST',
|
67
|
-
:parser => Fog::Parsers::CDN::
|
67
|
+
:parser => Fog::Parsers::AWS::CDN::StreamingDistribution.new,
|
68
68
|
:path => "/streaming-distribution"
|
69
69
|
})
|
70
70
|
end
|
@@ -75,7 +75,7 @@ module Fog
|
|
75
75
|
|
76
76
|
def post_streaming_distribution(options = {})
|
77
77
|
if self.data[:streaming_distributions].values.any? { |d| (d['CNAME'] & (options['CNAME']||[])).empty? }
|
78
|
-
Fog::CDN::
|
78
|
+
Fog::AWS::CDN::Mock.error(:invalid_argument, 'CNAME is already in use')
|
79
79
|
end
|
80
80
|
|
81
81
|
response = Excon::Response.new
|
@@ -83,10 +83,10 @@ module Fog
|
|
83
83
|
response.status = 201
|
84
84
|
options['CallerReference'] = Time.now.to_i.to_s
|
85
85
|
|
86
|
-
dist_id = Fog::CDN::
|
86
|
+
dist_id = Fog::AWS::CDN::Mock.distribution_id
|
87
87
|
|
88
88
|
distribution = {
|
89
|
-
'DomainName' => Fog::CDN::
|
89
|
+
'DomainName' => Fog::AWS::CDN::Mock.domain_name,
|
90
90
|
'Id' => dist_id,
|
91
91
|
'Status' => 'InProgress',
|
92
92
|
'LastModifiedTime' => Time.now.utc.iso8601,
|