Class: Fog::Compute::Aliyun::Real
- Inherits:
-
Object
- Object
- Fog::Compute::Aliyun::Real
- Defined in:
- lib/fog/aliyun/compute.rb,
lib/fog/aliyun/requests/compute/list_vpcs.rb,
lib/fog/aliyun/requests/compute/create_vpc.rb,
lib/fog/aliyun/requests/compute/delete_vpc.rb,
lib/fog/aliyun/requests/compute/list_disks.rb,
lib/fog/aliyun/requests/compute/list_zones.rb,
lib/fog/aliyun/requests/compute/modify_vpc.rb,
lib/fog/aliyun/requests/compute/attach_disk.rb,
lib/fog/aliyun/requests/compute/create_disk.rb,
lib/fog/aliyun/requests/compute/delete_disk.rb,
lib/fog/aliyun/requests/compute/detach_disk.rb,
lib/fog/aliyun/requests/compute/list_images.rb,
lib/fog/aliyun/requests/compute/stop_server.rb,
lib/fog/aliyun/requests/compute/create_image.rb,
lib/fog/aliyun/requests/compute/delete_image.rb,
lib/fog/aliyun/requests/compute/list_servers.rb,
lib/fog/aliyun/requests/compute/start_server.rb,
lib/fog/aliyun/requests/compute/create_server.rb,
lib/fog/aliyun/requests/compute/delete_server.rb,
lib/fog/aliyun/requests/compute/list_vrouters.rb,
lib/fog/aliyun/requests/compute/list_vswitchs.rb,
lib/fog/aliyun/requests/compute/reboot_server.rb,
lib/fog/aliyun/requests/compute/create_vswitch.rb,
lib/fog/aliyun/requests/compute/delete_vswitch.rb,
lib/fog/aliyun/requests/compute/list_snapshots.rb,
lib/fog/aliyun/requests/compute/modify_vswitch.rb,
lib/fog/aliyun/requests/compute/create_snapshot.rb,
lib/fog/aliyun/requests/compute/delete_snapshot.rb,
lib/fog/aliyun/requests/compute/list_route_tables.rb,
lib/fog/aliyun/requests/compute/list_server_types.rb,
lib/fog/aliyun/requests/compute/list_vpn_gateways.rb,
lib/fog/aliyun/requests/compute/list_eip_addresses.rb,
lib/fog/aliyun/requests/compute/join_security_group.rb,
lib/fog/aliyun/requests/compute/release_eip_address.rb,
lib/fog/aliyun/requests/compute/allocate_eip_address.rb,
lib/fog/aliyun/requests/compute/leave_security_group.rb,
lib/fog/aliyun/requests/compute/list_security_groups.rb,
lib/fog/aliyun/requests/compute/list_vpn_connections.rb,
lib/fog/aliyun/requests/compute/associate_eip_address.rb,
lib/fog/aliyun/requests/compute/create_security_group.rb,
lib/fog/aliyun/requests/compute/create_vpn_connection.rb,
lib/fog/aliyun/requests/compute/delete_security_group.rb,
lib/fog/aliyun/requests/compute/delete_vpn_connection.rb,
lib/fog/aliyun/requests/compute/unassociate_eip_address.rb,
lib/fog/aliyun/requests/compute/list_security_group_rules.rb,
lib/fog/aliyun/requests/compute/list_vpn_customergateways.rb,
lib/fog/aliyun/requests/compute/allocate_public_ip_address.rb,
lib/fog/aliyun/requests/compute/create_vpn_customergateway.rb,
lib/fog/aliyun/requests/compute/delete_vpn_customergateway.rb,
lib/fog/aliyun/requests/compute/create_security_group_ip_rule.rb,
lib/fog/aliyun/requests/compute/create_security_group_sg_rule.rb,
lib/fog/aliyun/requests/compute/delete_security_group_ip_rule.rb,
lib/fog/aliyun/requests/compute/delete_security_group_sg_rule.rb,
lib/fog/aliyun/requests/compute/create_security_group_egress_ip_rule.rb,
lib/fog/aliyun/requests/compute/create_security_group_egress_sg_rule.rb,
lib/fog/aliyun/requests/compute/delete_security_group_egress_ip_rule.rb,
lib/fog/aliyun/requests/compute/delete_security_group_egress_sg_rule.rb
Instance Attribute Summary collapse
-
#aliyun_accesskey_id ⇒ Object
readonly
Initialize connection to ECS.
-
#aliyun_accesskey_secret ⇒ Object
readonly
Returns the value of attribute aliyun_accesskey_secret.
-
#aliyun_region_id ⇒ Object
readonly
Returns the value of attribute aliyun_region_id.
-
#aliyun_url ⇒ Object
readonly
Returns the value of attribute aliyun_url.
-
#aliyun_zone_id ⇒ Object
readonly
Returns the value of attribute aliyun_zone_id.
Instance Method Summary collapse
-
#allocate_eip_address(options = {}) ⇒ Object
Allocate an eip IP address.
-
#allocate_public_ip_address(server_id) ⇒ Object
Allocate an avalable public IP address to the given instance.
-
#associate_eip_address(server_id, allocationId, options = {}) ⇒ Object
Associate an avalable eip IP address to the given instance.
-
#attach_disk(instanceId, diskId, options = {}) ⇒ Object
Mount a disk.
-
#create_disk(size, options = {}) ⇒ Object
Create a disk with assigned size.
-
#create_disk_by_snapshot(snapshotId, options = {}) ⇒ Object
Create a disk By the snapshot with given snapshot_id.
- #create_image(snapshotId, options = {}) ⇒ Object
- #create_security_group(options = {}) ⇒ Object
- #create_security_group_egress_ip_rule(securitygroup_id, destCidrIp, nicType, option = {}) ⇒ Object
- #create_security_group_egress_sg_rule(securitygroup_id, dest_group_id, option = {}) ⇒ Object
- #create_security_group_ip_rule(securitygroup_id, sourceCidrIp, nicType, option = {}) ⇒ Object
- #create_security_group_sg_rule(securitygroup_id, source_securitygroup_id, option = {}) ⇒ Object
- #create_server(imageId, securityGroupId, instanceType, options = {}) ⇒ Object
- #create_snapshot(diskId, options = {}) ⇒ Object
- #create_vpc(cidrBlock, options = {}) ⇒ Object
- #create_vpn_connection(customergatewayId, vpngatewayId, localsubnet, remotesubnet, options = {}) ⇒ Object
- #create_vpn_customergateway(ipaddress, options = {}) ⇒ Object
- #create_vswitch(vpcId, cidrBlock, options = {}) ⇒ Object
- #defalutVPCParameters(action, sigNonce, time) ⇒ Object
- #defaultAliyunQueryParameters(action, sigNonce, time) ⇒ Object
-
#defaultAliyunUri(action, sigNonce, time) ⇒ Object
operation compute– default URL.
- #defaultAliyunVPCUri(action, sigNonce, time) ⇒ Object
-
#defaultParameters(action, sigNonce, time) ⇒ Object
operation compute–collection of default parameters.
-
#delete_disk(diskId) ⇒ Object
Delete a disk By the given id.
- #delete_image(imageId) ⇒ Object
- #delete_security_group(security_group_id) ⇒ Object
- #delete_security_group_egress_ip_rule(securitygroup_id, destCidrIp, nicType, option = {}) ⇒ Object
- #delete_security_group_egress_sg_rule(securitygroup_id, dest_group_id, option = {}) ⇒ Object
- #delete_security_group_ip_rule(securitygroup_id, sourceCidrIp, nicType, option = {}) ⇒ Object
- #delete_security_group_sg_rule(securitygroup_id, source_securitygroup_id, option = {}) ⇒ Object
- #delete_server(server_id) ⇒ Object
- #delete_snapshot(snapshotId) ⇒ Object
- #delete_vpc(vpc_id) ⇒ Object
- #delete_vpn_connection(vpn_connectionid) ⇒ Object
- #delete_vpn_customergateway(vpn_customergatewayid) ⇒ Object
- #delete_vswitch(vswitch_id) ⇒ Object
- #detach_disk(instanceId, diskId, _options = {}) ⇒ Object
- #get_instance_type(cpuCount, memorySize) ⇒ Object
-
#initialize(options = {}) ⇒ Real
constructor
A new instance of Real.
- #join_security_group(server_id, group_id) ⇒ Object
- #leave_security_group(server_id, group_id) ⇒ Object
-
#list_disks(options = {}) ⇒ Object
Describe disks.
- #list_eip_addresses(options = {}) ⇒ Object
- #list_images(options = {}) ⇒ Object
- #list_route_tables(vrouterid, options = {}) ⇒ Object
- #list_security_group_rules(securityGroupId, options = {}) ⇒ Object
- #list_security_groups(options = {}) ⇒ Object
- #list_server_types ⇒ Object
- #list_servers(options = {}) ⇒ Object
- #list_snapshots(options = {}) ⇒ Object
- #list_vpcs(options = {}) ⇒ Object
- #list_vpn_connections(options = {}) ⇒ Object
- #list_vpn_customergateways(options = {}) ⇒ Object
- #list_vpn_gateways(options = {}) ⇒ Object
- #list_vrouters(options = {}) ⇒ Object
- #list_vswitchs(vpcid, options = {}) ⇒ Object
- #list_zones ⇒ Object
- #modify_switch(vSwitchId, options = {}) ⇒ Object
- #modify_vpc(vpcId, options = {}) ⇒ Object
-
#randonStr ⇒ Object
generate random num.
- #reboot_server(server_id, options = {}) ⇒ Object
- #release_eip_address(allocationId) ⇒ Object
- #reload ⇒ Object
- #request(params) ⇒ Object
-
#sign(accessKeySecret, parameters) ⇒ Object
compute signature This method should be considered deprecated and replaced with sign_without_encoding, which is better for using querystring hashes and not building querystrings with string concatination.
- #sign_without_encoding(accessKeySecret, parameters) ⇒ Object
-
#start_server(server_id) ⇒ Object
Start the server.
-
#stop_server(server_id) ⇒ Object
Stop the server.
-
#unassociate_eip_address(server_id, allocationId, options = {}) ⇒ Object
Disassociate an avalable eip IP address to the given instance.
- #VPCrequest(params) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ Real
Returns a new instance of Real.
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 |
# File 'lib/fog/aliyun/compute.rb', line 266 def initialize( = {}) # initialize the parameters @aliyun_url = [:aliyun_url] @aliyun_accesskey_id = [:aliyun_accesskey_id] @aliyun_accesskey_secret = [:aliyun_accesskey_secret] @aliyun_region_id = [:aliyun_region_id] @aliyun_zone_id = [:aliyun_zone_id] # check for the parameters missing_credentials = [] missing_credentials << :aliyun_accesskey_id unless @aliyun_accesskey_id missing_credentials << :aliyun_accesskey_secret unless @aliyun_accesskey_secret missing_credentials << :aliyun_region_id unless @aliyun_region_id missing_credentials << :aliyun_url unless @aliyun_url raise ArgumentError, "Missing required arguments: #{missing_credentials.join(', ')}" unless missing_credentials.empty? @connection_options = [:connection_options] || {} uri = URI.parse(@aliyun_url) @host = uri.host @path = uri.path @port = uri.port @scheme = uri.scheme vpcuri = URI.parse('https://vpc.aliyuncs.com') @vpchost = vpcuri.host @vpcpath = vpcuri.path @vpcport = vpcuri.port @vpcscheme = vpcuri.scheme @persistent = [:persistent] || false @connection = Fog::Core::Connection.new("#{@scheme}://#{@host}:#{@port}", @persistent, @connection_options) @VPCconnection = Fog::Core::Connection.new("#{@vpcscheme}://#{@vpchost}:#{@vpcport}", @persistent, @connection_options) end |
Instance Attribute Details
#aliyun_accesskey_id ⇒ Object (readonly)
Initialize connection to ECS
Notes
options parameter must include values for :aliyun_url, :aliyun_accesskey_id, :aliyun_secret_access_key, :aliyun_region_id and :aliyun_zone_id in order to create a connection. if you haven’t set these values in the configuration file.
Examples
sdb = Fog::Compute.new(:provider=>'aliyun',
:aliyun_accesskey_id => your_:aliyun_accesskey_id,
:aliyun_secret_access_key => your_aliyun_secret_access_key
)
Parameters
-
options<~Hash> - config arguments for connection. Defaults to {}.
Returns
-
ECS object with connection to aliyun.
260 261 262 |
# File 'lib/fog/aliyun/compute.rb', line 260 def aliyun_accesskey_id @aliyun_accesskey_id end |
#aliyun_accesskey_secret ⇒ Object (readonly)
Returns the value of attribute aliyun_accesskey_secret.
261 262 263 |
# File 'lib/fog/aliyun/compute.rb', line 261 def aliyun_accesskey_secret @aliyun_accesskey_secret end |
#aliyun_region_id ⇒ Object (readonly)
Returns the value of attribute aliyun_region_id.
262 263 264 |
# File 'lib/fog/aliyun/compute.rb', line 262 def aliyun_region_id @aliyun_region_id end |
#aliyun_url ⇒ Object (readonly)
Returns the value of attribute aliyun_url.
263 264 265 |
# File 'lib/fog/aliyun/compute.rb', line 263 def aliyun_url @aliyun_url end |
#aliyun_zone_id ⇒ Object (readonly)
Returns the value of attribute aliyun_zone_id.
264 265 266 |
# File 'lib/fog/aliyun/compute.rb', line 264 def aliyun_zone_id @aliyun_zone_id end |
Instance Method Details
#allocate_eip_address(options = {}) ⇒ Object
Allocate an eip IP address.
Notes
The new eip Ip address would be avalable The allocated eip Ip address can only associate to the instance of the vpc in the same region Now the eip can support ICMP,TCP,UDP
Parameters
-
server_id<~String> - id of the instance
-
allocationId<~String> - id of the EIP
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘EipAddress’<~String> - the allocated eip address
-
‘AllocationId’<~String> - the instance id on the public ip
-
‘RequestId’<~String> - Id of the request
-
-
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/fog/aliyun/requests/compute/allocate_eip_address.rb', line 24 def allocate_eip_address( = {}) _action = 'AllocateEipAddress' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) # optional parameters _Bandwidth = [:bandwidth] if _Bandwidth _parameters['Bandwidth'] = _Bandwidth _pathURL += '&Bandwidth=' + _Bandwidth end _InternetChargeType = [:internet_charge_type] _InternetChargeType ||= 'PayByTraffic' _parameters['InternetChargeType'] = _InternetChargeType _pathURL += '&InternetChargeType=' + _InternetChargeType _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#allocate_public_ip_address(server_id) ⇒ Object
Allocate an avalable public IP address to the given instance.
Parameters
-
server_id<~String> - id of the instance
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘IpAddress’<~String> - The allocated ip address
-
‘RequestId’<~String> - Id of the request
-
-
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/fog/aliyun/requests/compute/allocate_public_ip_address.rb', line 18 def allocate_public_ip_address(server_id) _action = 'AllocatePublicIpAddress' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#associate_eip_address(server_id, allocationId, options = {}) ⇒ Object
Associate an avalable eip IP address to the given instance.
Parameters
-
server_id<~String> - id of the instance
-
allocationId<~String> - id of the EIP
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘RequestId’<~String> - Id of the request
-
-
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/fog/aliyun/requests/compute/associate_eip_address.rb', line 18 def associate_eip_address(server_id, allocationId, = {}) _action = 'AssociateEipAddress' _sigNonce = randonStr _time = Time.new.utc type = ['instance_type'] _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _parameters['AllocationId'] = allocationId _pathURL += '&AllocationId=' + allocationId if type _parameters['InstanceType'] = type _pathURL += 'InstanceType=' + type end _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#attach_disk(instanceId, diskId, options = {}) ⇒ Object
Mount a disk.
Parameters
-
instanceId<~String> - id of the instance
-
diskId<~String> - id of the disk
-
options<~hash>
* :deleteWithInstance - if 'true',the disk will be relese with the instance.else, won't * :device - if nil, the system will default allocate from /dev/xvdb to /dev/xvdz. default nil
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘RequestId’<~String> - Id of the request
-
-
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/fog/aliyun/requests/compute/attach_disk.rb', line 23 def attach_disk(instanceId, diskId, = {}) action = 'AttachDisk' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['InstanceId'] = instanceId pathUrl += '&InstanceId=' pathUrl += instanceId parameters['DiskId'] = diskId pathUrl += '&DiskId=' pathUrl += diskId deleteWithInstance = [:deleteWithInstance] device = [:device] deleteWithInstance ||= 'true' parameters['DeleteWithInstance'] = deleteWithInstance pathUrl += '&DeleteWithInstance=' pathUrl += deleteWithInstance if device parameters['Device'] = device pathUrl += '&Device=' pathUrl += Addressable::URI.encode_component(device, Addressable::URI::CharacterClasses::UNRESERVED + '|') end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_disk(size, options = {}) ⇒ Object
Create a disk with assigned size.
Parameters
-
size<~String> - the size of the disk (GB).–cloud:5~2000GB,cloud_efficiency: 20~2048GB,cloud_ssd:20~1024GB
-
options<~hash>
* :name - The name of the disk,default nil. If not nil, it must start with english or chinise character. The length should be within [2,128]. It can contain digits,'.','_' or '-'.It shouldn't start with 'http://' or 'https://' * :description - The name of the disk,default nil. If not nil, the length should be within [2,255].It shouldn't start with 'http://' or 'https://' * :category - Default 'cloud'. can be set to 'cloud','cloud_efficiency' or 'cloud_ssd'
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘RequestId’<~String> - Id of the request
-
‘DiskId’<~String> - Id of the created disk
-
-
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/fog/aliyun/requests/compute/create_disk.rb', line 23 def create_disk(size, = {}) action = 'CreateDisk' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['ZoneId'] = @aliyun_zone_id pathUrl += '&ZoneId=' pathUrl += @aliyun_zone_id parameters['Size'] = size pathUrl += '&Size=' pathUrl += size name = [:name] desc = [:description] category = [:category] if name parameters['DiskName'] = name pathUrl += '&DiskName=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end if category parameters['DiskCategory'] = category pathUrl += 'DiskCategory' pathUrl += category end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ).merge() end |
#create_disk_by_snapshot(snapshotId, options = {}) ⇒ Object
Create a disk By the snapshot with given snapshot_id.
Parameters
-
snapshotId<~String> - the snapshot_id
-
options<~hash>
* :name - The name of the disk,default nil. If not nil, it must start with english or chinise character. The length should be within [2,128]. It can contain digits,'.','_' or '-'.It shouldn't start with 'http://' or 'https://' * :description - The name of the disk,default nil. If not nil, the length should be within [2,255].It shouldn't start with 'http://' or 'https://' * :category - Default 'cloud'. can be set to 'cloud','cloud_efficiency' or 'cloud_ssd'
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘RequestId’<~String> - Id of the request
-
‘DiskId’<~String> - Id of the created disk
-
-
88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/fog/aliyun/requests/compute/create_disk.rb', line 88 def create_disk_by_snapshot(snapshotId, = {}) action = 'CreateDisk' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['ZoneId'] = @aliyun_zone_id pathUrl += '&ZoneId=' pathUrl += @aliyun_zone_id parameters['SnapshotId'] = snapshotId pathUrl += '&SnapshotId=' pathUrl += snapshotId name = [:name] desc = [:description] category = [:category] if name parameters['DiskName'] = name pathUrl += '&DiskName=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end if category parameters['DiskCategory'] = category pathUrl += 'DiskCategory' pathUrl += category end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_image(snapshotId, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/fog/aliyun/requests/compute/create_image.rb', line 8 def create_image(snapshotId, = {}) action = 'CreateImage' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SnapshotId'] = snapshotId pathUrl += '&SnapshotId=' pathUrl += snapshotId name = [:name] if name parameters['ImageName'] = name pathUrl += '&ImageName=' pathUrl += name end desc = [:description] if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end version = [:version] if version parameters['ImageVersion'] = version pathUrl += '&ImageVersion=' pathUrl += version end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_security_group(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/fog/aliyun/requests/compute/create_security_group.rb', line 8 def create_security_group( = {}) action = 'CreateSecurityGroup' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) name = [:name] desc = [:description] vpcid = [:vpcId] if name parameters['SecurityGroupName'] = name pathUrl += '&SecurityGroupName=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end if vpcid parameters['VpcId'] = vpcid pathUrl += '&VpcId=' pathUrl += vpcid end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_security_group_egress_ip_rule(securitygroup_id, destCidrIp, nicType, option = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/fog/aliyun/requests/compute/create_security_group_egress_ip_rule.rb', line 10 def create_security_group_egress_ip_rule(securitygroup_id, destCidrIp, nicType, option = {}) action = 'AuthorizeSecurityGroupEgress' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securitygroup_id pathUrl += '&SecurityGroupId=' pathUrl += securitygroup_id parameters['DestCidrIp'] = destCidrIp pathUrl += '&DestCidrIp=' pathUrl += Addressable::URI.encode_component(destCidrIp, Addressable::URI::CharacterClasses::UNRESERVED + '|') nicType ||= 'intranet' parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType portRange = option[:portRange] portRange ||= '-1/-1' parameters['PortRange'] = portRange pathUrl += '&PortRange=' pathUrl += Addressable::URI.encode_component(portRange, Addressable::URI::CharacterClasses::UNRESERVED + '|') protocol = option[:protocol] protocol ||= 'all' parameters['IpProtocol'] = protocol pathUrl += '&IpProtocol=' pathUrl += protocol policy = option[:policy] policy ||= 'accept' parameters['Policy'] = policy pathUrl += '&Policy=' pathUrl += policy priority = option[:priority] priority ||= '1' parameters['Priority'] = priority pathUrl += '&Priority=' pathUrl += priority signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_security_group_egress_sg_rule(securitygroup_id, dest_group_id, option = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/fog/aliyun/requests/compute/create_security_group_egress_sg_rule.rb', line 10 def create_security_group_egress_sg_rule(securitygroup_id, dest_group_id, option = {}) action = 'AuthorizeSecurityGroupEgress' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securitygroup_id pathUrl += '&SecurityGroupId=' pathUrl += securitygroup_id parameters['DestGroupId'] = dest_group_id pathUrl += '&DestGroupId=' pathUrl += dest_group_id nicType = 'intranet' parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType portRange = option[:portRange] portRange ||= '-1/-1' parameters['PortRange'] = portRange pathUrl += '&PortRange=' pathUrl += Addressable::URI.encode_component(portRange, Addressable::URI::CharacterClasses::UNRESERVED + '|') protocol = option[:protocol] protocol ||= 'all' parameters['IpProtocol'] = protocol pathUrl += '&IpProtocol=' pathUrl += protocol destGOAccount = option[:destGroupOwnerAccount] if sourceGOAccount parameters['DestGroupOwnerAccount'] = destGOAccount pathUrl += '&DestGroupOwnerAccount=' pathUrl += destGOAccount end policy = option[:policy] policy ||= 'accept' parameters['Policy'] = policy pathUrl += '&Policy=' pathUrl += policy priority = option[:priority] priority ||= '1' parameters['Priority'] = priority pathUrl += '&Priority=' pathUrl += priority signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_security_group_ip_rule(securitygroup_id, sourceCidrIp, nicType, option = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/fog/aliyun/requests/compute/create_security_group_ip_rule.rb', line 10 def create_security_group_ip_rule(securitygroup_id, sourceCidrIp, nicType, option = {}) action = 'AuthorizeSecurityGroup' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securitygroup_id pathUrl += '&SecurityGroupId=' pathUrl += securitygroup_id parameters['SourceCidrIp'] = sourceCidrIp pathUrl += '&SourceCidrIp=' pathUrl += Addressable::URI.encode_component(sourceCidrIp, Addressable::URI::CharacterClasses::UNRESERVED + '|') nicType ||= 'intranet' parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType portRange = option[:portRange] portRange ||= '-1/-1' parameters['PortRange'] = portRange pathUrl += '&PortRange=' pathUrl += Addressable::URI.encode_component(portRange, Addressable::URI::CharacterClasses::UNRESERVED + '|') protocol = option[:protocol] protocol ||= 'all' parameters['IpProtocol'] = protocol pathUrl += '&IpProtocol=' pathUrl += protocol policy = option[:policy] policy ||= 'accept' parameters['Policy'] = policy pathUrl += '&Policy=' pathUrl += policy priority = option[:priority] priority ||= '1' parameters['Priority'] = priority pathUrl += '&Priority=' pathUrl += priority signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_security_group_sg_rule(securitygroup_id, source_securitygroup_id, option = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/fog/aliyun/requests/compute/create_security_group_sg_rule.rb', line 10 def create_security_group_sg_rule(securitygroup_id, source_securitygroup_id, option = {}) action = 'AuthorizeSecurityGroup' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securitygroup_id pathUrl += '&SecurityGroupId=' pathUrl += securitygroup_id parameters['SourceGroupId'] = source_securitygroup_id pathUrl += '&SourceGroupId=' pathUrl += source_securitygroup_id nicType = 'intranet' parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType portRange = option[:portRange] portRange ||= '-1/-1' parameters['PortRange'] = portRange pathUrl += '&PortRange=' pathUrl += Addressable::URI.encode_component(portRange, Addressable::URI::CharacterClasses::UNRESERVED + '|') protocol = option[:protocol] protocol ||= 'all' parameters['IpProtocol'] = protocol pathUrl += '&IpProtocol=' pathUrl += protocol sourceGOAccount = option[:sourceGroupOwnerAccount] if sourceGOAccount parameters['SourceGroupOwnerAccount'] = sourceGOAccount pathUrl += '&SourceGroupOwnerAccount=' pathUrl += sourceGOAccount end policy = option[:policy] policy ||= 'accept' parameters['Policy'] = policy pathUrl += '&Policy=' pathUrl += policy priority = option[:priority] priority ||= '1' parameters['Priority'] = priority pathUrl += '&Priority=' pathUrl += priority signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_server(imageId, securityGroupId, instanceType, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/fog/aliyun/requests/compute/create_server.rb', line 8 def create_server(imageId, securityGroupId, instanceType, = {}) _action = 'CreateInstance' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['ImageId'] = imageId _pathURL += '&ImageId=' + imageId _parameters['InstanceType'] = instanceType _pathURL += '&InstanceType=' + instanceType _parameters['SecurityGroupId'] = securityGroupId _pathURL += '&SecurityGroupId=' + securityGroupId _ZoneId = [:ZoneId] if _ZoneId _parameters['ZoneId'] = _ZoneId _pathURL += '&ZoneId=' + _ZoneId end _InstanceName = [:InstanceName] if _InstanceName _parameters['InstanceName'] = _InstanceName _pathURL += '&InstanceName=' + _InstanceName end _Description = [:Description] if _Description _parameters['Description'] = _Description _pathURL += '&Description=' + _Description end _InternetChargeType = [:InternetChargeType] if _InternetChargeType _parameters['InternetChargeType'] = _InternetChargeType _pathURL += '&InternetChargeType=' + _InternetChargeType end _HostName = [:HostName] if _HostName _parameters['HostName'] = _HostName _pathURL += '&HostName=' + _HostName end _Password = [:Password] if _Password _parameters['Password'] = _Password _pathURL += '&Password=' + _Password end _VSwitchId = [:VSwitchId] _PrivateIpAddress = [:PrivateIpAddress] if _VSwitchId _parameters['VSwitchId'] = _VSwitchId _pathURL += '&VSwitchId=' + _VSwitchId if _PrivateIpAddress _parameters['PrivateIpAddress'] = _PrivateIpAddress _pathURL += '&PrivateIpAddress=' + _PrivateIpAddress end end _InternetMaxBandwidthIn = [:InternetMaxBandwidthIn] if _InternetMaxBandwidthIn _parameters['InternetMaxBandwidthIn'] = _InternetMaxBandwidthIn _pathURL += '&InternetMaxBandwidthIn=' + _InternetMaxBandwidthIn end _InternetMaxBandwidthOut = [:InternetMaxBandwidthOut] if _InternetMaxBandwidthOut _parameters['InternetMaxBandwidthOut'] = _InternetMaxBandwidthOut _pathURL += '&InternetMaxBandwidthOut=' + _InternetMaxBandwidthOut end _KeyPairName = [:KeyPairName] if _KeyPairName _parameters['KeyPairName'] = _KeyPairName _pathURL += '&KeyPairName=' + _KeyPairName end _UserData = [:UserData] if _UserData _parameters['UserData'] = _UserData _pathURL += '&UserData=' + _UserData end _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 203], method: 'GET', path: _pathURL ) end |
#create_snapshot(diskId, options = {}) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fog/aliyun/requests/compute/create_snapshot.rb', line 7 def create_snapshot(diskId, = {}) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/snapshot&createsnapshot] action = 'CreateSnapshot' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['DiskId'] = diskId pathUrl += '&DiskId=' pathUrl += diskId name = [:name] desc = [:description] if name parameters['SnapshotName'] = name pathUrl += '&SnapshotName=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_vpc(cidrBlock, options = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/fog/aliyun/requests/compute/create_vpc.rb', line 9 def create_vpc(cidrBlock, = {}) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/vpc&createvpc] action = 'CreateVpc' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['CidrBlock'] = cidrBlock pathUrl += '&CidrBlock=' pathUrl += Addressable::URI.encode_component(cidrBlock, Addressable::URI::CharacterClasses::UNRESERVED + '|') name = [:name] desc = [:description] if name parameters['VpcName'] = name pathUrl += '&VpcName=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_vpn_connection(customergatewayId, vpngatewayId, localsubnet, remotesubnet, options = {}) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/fog/aliyun/requests/compute/create_vpn_connection.rb', line 7 def create_vpn_connection(customergatewayId, vpngatewayId, localsubnet, remotesubnet, = {}) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/vswitch&createvswitch] action = 'CreateVpnConnection' sigNonce = randonStr time = Time.new.utc parameters = defalutVPCParameters(action, sigNonce, time) pathUrl = defaultAliyunVPCUri(action, sigNonce, time) parameters['CustomerGatewayId'] = customergatewayId pathUrl += '&CustomerGatewayId=' pathUrl += customergatewayId parameters['VpnGatewayId'] = vpngatewayId pathUrl += '&VpnGatewayId=' pathUrl += vpngatewayId parameters['LocalSubnet'] = localsubnet pathUrl += '&LocalSubnet=' pathUrl += localsubnet parameters['RemoteSubnet'] = remotesubnet pathUrl += '&RemoteSubnet=' pathUrl += remotesubnet name = [:name] ipsecconfig = [:ipsecconfig] if name parameters['Name'] = name pathUrl += '&Name=' pathUrl += name end if ipsecconfig parameters['IpsecConfig'] = ipsecconfig pathUrl += '&IpsecConfig=' pathUrl += ipsecconfig end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature VPCrequest( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_vpn_customergateway(ipaddress, options = {}) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fog/aliyun/requests/compute/create_vpn_customergateway.rb', line 7 def create_vpn_customergateway(ipaddress, = {}) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/vswitch&createvswitch] action = 'CreateCustomerGateway' sigNonce = randonStr time = Time.new.utc parameters = defalutVPCParameters(action, sigNonce, time) pathUrl = defaultAliyunVPCUri(action, sigNonce, time) parameters['IpAddress'] = ipaddress pathUrl += '&IpAddress=' pathUrl += ipaddress name = [:name] desc = [:description] if name parameters['Name'] = name pathUrl += '&Name=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature VPCrequest( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#create_vswitch(vpcId, cidrBlock, options = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/fog/aliyun/requests/compute/create_vswitch.rb', line 9 def create_vswitch(vpcId, cidrBlock, = {}) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/vswitch&createvswitch] action = 'CreateVSwitch' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['VpcId'] = vpcId pathUrl += '&VpcId=' pathUrl += vpcId parameters['CidrBlock'] = cidrBlock pathUrl += '&CidrBlock=' pathUrl += Addressable::URI.encode_component(cidrBlock, Addressable::URI::CharacterClasses::UNRESERVED + '|') parameters['ZoneId'] = @aliyun_zone_id pathUrl += '&ZoneId=' pathUrl += @aliyun_zone_id name = [:name] desc = [:description] if name parameters['VSwitchName'] = name pathUrl += '&VSwitchName=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#defalutVPCParameters(action, sigNonce, time) ⇒ Object
404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 |
# File 'lib/fog/aliyun/compute.rb', line 404 def defalutVPCParameters(action, sigNonce, time) parTimeFormat = time.strftime('%Y-%m-%dT%H:%M:%SZ') para = { 'Format' => 'JSON', 'Version' => '2016-04-28', 'Action' => action, 'AccessKeyId' => @aliyun_accesskey_id, 'SignatureVersion' => '1.0', 'SignatureMethod' => 'HMAC-SHA1', 'SignatureNonce' => sigNonce, 'RegionId' => @aliyun_region_id, 'Timestamp' => parTimeFormat } para end |
#defaultAliyunQueryParameters(action, sigNonce, time) ⇒ Object
359 360 361 362 363 364 365 366 367 368 369 370 371 |
# File 'lib/fog/aliyun/compute.rb', line 359 def defaultAliyunQueryParameters(action, sigNonce, time) { Format: 'JSON', AccessKeyId: @aliyun_accesskey_id, Action: action, SignatureMethod: 'HMAC-SHA1', RegionId: @aliyun_region_id, SignatureNonce: sigNonce, SignatureVersion: '1.0', Version: '2014-05-26', Timestamp: time.strftime('%Y-%m-%dT%H:%M:%SZ') } end |
#defaultAliyunUri(action, sigNonce, time) ⇒ Object
operation compute– default URL
353 354 355 356 357 |
# File 'lib/fog/aliyun/compute.rb', line 353 def defaultAliyunUri(action, sigNonce, time) parTimeFormat = time.strftime('%Y-%m-%dT%H:%M:%SZ') urlTimeFormat = Addressable::URI.encode_component(parTimeFormat, Addressable::URI::CharacterClasses::UNRESERVED + '|') '?Format=JSON&AccessKeyId=' + @aliyun_accesskey_id + '&Action=' + action + '&SignatureMethod=HMAC-SHA1&RegionId=' + @aliyun_region_id + '&SignatureNonce=' + sigNonce + '&SignatureVersion=1.0&Version=2014-05-26&Timestamp=' + urlTimeFormat end |
#defaultAliyunVPCUri(action, sigNonce, time) ⇒ Object
373 374 375 376 377 |
# File 'lib/fog/aliyun/compute.rb', line 373 def defaultAliyunVPCUri(action, sigNonce, time) parTimeFormat = time.strftime('%Y-%m-%dT%H:%M:%SZ') urlTimeFormat = Addressable::URI.encode_component(parTimeFormat, Addressable::URI::CharacterClasses::UNRESERVED + '|') '?Format=JSON&AccessKeyId=' + @aliyun_accesskey_id + '&Action=' + action + '&SignatureMethod=HMAC-SHA1&RegionId=' + @aliyun_region_id + '&SignatureNonce=' + sigNonce + '&SignatureVersion=1.0&Version=2016-04-28&Timestamp=' + urlTimeFormat end |
#defaultParameters(action, sigNonce, time) ⇒ Object
operation compute–collection of default parameters
388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 |
# File 'lib/fog/aliyun/compute.rb', line 388 def defaultParameters(action, sigNonce, time) parTimeFormat = time.strftime('%Y-%m-%dT%H:%M:%SZ') para = { 'Format' => 'JSON', 'Version' => '2014-05-26', 'Action' => action, 'AccessKeyId' => @aliyun_accesskey_id, 'SignatureVersion' => '1.0', 'SignatureMethod' => 'HMAC-SHA1', 'SignatureNonce' => sigNonce, 'RegionId' => @aliyun_region_id, 'Timestamp' => parTimeFormat } para end |
#delete_disk(diskId) ⇒ Object
Delete a disk By the given id.
Parameters
-
diskId<~String> - the disk_id
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘RequestId’<~String> - Id of the request
-
-
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/fog/aliyun/requests/compute/delete_disk.rb', line 18 def delete_disk(diskId) action = 'DeleteDisk' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['DiskId'] = diskId pathUrl += '&DiskId=' pathUrl += diskId signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_image(imageId) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/fog/aliyun/requests/compute/delete_image.rb', line 8 def delete_image(imageId) action = 'DeleteImage' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['ImageId'] = imageId pathUrl += '&ImageId=' pathUrl += imageId signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_security_group(security_group_id) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aliyun/requests/compute/delete_security_group.rb', line 7 def delete_security_group(security_group_id) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/securitygroup&deletesecuritygroup] action = 'DeleteSecurityGroup' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) if security_group_id parameters['SecurityGroupId'] = security_group_id pathUrl += '&SecurityGroupId=' pathUrl += security_group_id else raise ArgumentError, 'Missing required securyti id ' end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_security_group_egress_ip_rule(securitygroup_id, destCidrIp, nicType, option = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/fog/aliyun/requests/compute/delete_security_group_egress_ip_rule.rb', line 10 def delete_security_group_egress_ip_rule(securitygroup_id, destCidrIp, nicType, option = {}) action = 'RevokeSecurityGroupEgress' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securitygroup_id pathUrl += '&SecurityGroupId=' pathUrl += securitygroup_id parameters['DestCidrIp'] = destCidrIp pathUrl += '&DestCidrIp=' pathUrl += Addressable::URI.encode_component(destCidrIp, Addressable::URI::CharacterClasses::UNRESERVED + '|') nicType ||= 'intranet' parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType portRange = option[:portRange] portRange ||= '-1/-1' parameters['PortRange'] = portRange pathUrl += '&PortRange=' pathUrl += Addressable::URI.encode_component(portRange, Addressable::URI::CharacterClasses::UNRESERVED + '|') protocol = option[:protocol] protocol ||= 'all' parameters['IpProtocol'] = protocol pathUrl += '&IpProtocol=' pathUrl += protocol policy = option[:policy] policy ||= 'accept' parameters['Policy'] = policy pathUrl += '&Policy=' pathUrl += policy priority = option[:priority] priority ||= '1' parameters['Priority'] = priority pathUrl += '&Priority=' pathUrl += priority signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_security_group_egress_sg_rule(securitygroup_id, dest_group_id, option = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/fog/aliyun/requests/compute/delete_security_group_egress_sg_rule.rb', line 10 def delete_security_group_egress_sg_rule(securitygroup_id, dest_group_id, option = {}) action = 'RevokeSecurityGroupEgress' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securitygroup_id pathUrl += '&SecurityGroupId=' pathUrl += securitygroup_id parameters['DestGroupId'] = dest_group_id pathUrl += '&DestGroupId=' pathUrl += dest_group_id nicType = 'intranet' parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType portRange = option[:portRange] portRange ||= '-1/-1' parameters['PortRange'] = portRange pathUrl += '&PortRange=' pathUrl += Addressable::URI.encode_component(portRange, Addressable::URI::CharacterClasses::UNRESERVED + '|') protocol = option[:protocol] protocol ||= 'all' parameters['IpProtocol'] = protocol pathUrl += '&IpProtocol=' pathUrl += protocol destGOAccount = option[:destGroupOwnerAccount] if sourceGOAccount parameters['DestGroupOwnerAccount'] = destGOAccount pathUrl += '&DestGroupOwnerAccount=' pathUrl += destGOAccount end policy = option[:policy] policy ||= 'accept' parameters['Policy'] = policy pathUrl += '&Policy=' pathUrl += policy priority = option[:priority] priority ||= '1' parameters['Priority'] = priority pathUrl += '&Priority=' pathUrl += priority signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_security_group_ip_rule(securitygroup_id, sourceCidrIp, nicType, option = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/fog/aliyun/requests/compute/delete_security_group_ip_rule.rb', line 9 def delete_security_group_ip_rule(securitygroup_id, sourceCidrIp, nicType, option = {}) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/securitygroup&revokesecuritygroup] action = 'RevokeSecurityGroup' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securitygroup_id pathUrl += '&SecurityGroupId=' pathUrl += securitygroup_id parameters['SourceCidrIp'] = sourceCidrIp pathUrl += '&SourceCidrIp=' pathUrl += Addressable::URI.encode_component(sourceCidrIp, Addressable::URI::CharacterClasses::UNRESERVED + '|') nicType ||= 'intranet' parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType portRange = option[:portRange] portRange ||= '-1/-1' parameters['PortRange'] = portRange pathUrl += '&PortRange=' pathUrl += Addressable::URI.encode_component(portRange, Addressable::URI::CharacterClasses::UNRESERVED + '|') protocol = option[:protocol] protocol ||= 'all' parameters['IpProtocol'] = protocol pathUrl += '&IpProtocol=' pathUrl += protocol policy = option[:policy] policy ||= 'accept' parameters['Policy'] = policy pathUrl += '&Policy=' pathUrl += policy priority = option[:priority] priority ||= '1' parameters['Priority'] = priority pathUrl += '&Priority=' pathUrl += priority signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_security_group_sg_rule(securitygroup_id, source_securitygroup_id, option = {}) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/fog/aliyun/requests/compute/delete_security_group_sg_rule.rb', line 9 def delete_security_group_sg_rule(securitygroup_id, source_securitygroup_id, option = {}) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/securitygroup&revokesecuritygroup] action = 'RevokeSecurityGroup' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securitygroup_id pathUrl += '&SecurityGroupId=' pathUrl += securitygroup_id parameters['SourceGroupId'] = source_securitygroup_id pathUrl += '&SourceGroupId=' pathUrl += source_securitygroup_id nicType = 'intranet' parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType portRange = option[:portRange] portRange ||= '-1/-1' parameters['PortRange'] = portRange pathUrl += '&PortRange=' pathUrl += Addressable::URI.encode_component(portRange, Addressable::URI::CharacterClasses::UNRESERVED + '|') protocol = option[:protocol] protocol ||= 'all' parameters['IpProtocol'] = protocol pathUrl += '&IpProtocol=' pathUrl += protocol sourceGOAccount = option[:sourceGroupOwnerAccount] if sourceGOAccount parameters['SourceGroupOwnerAccount'] = sourceGOAccount pathUrl += '&SourceGroupOwnerAccount=' pathUrl += sourceGOAccount end policy = option[:policy] policy ||= 'accept' parameters['Policy'] = policy pathUrl += '&Policy=' pathUrl += policy priority = option[:priority] priority ||= '1' parameters['Priority'] = priority pathUrl += '&Priority=' pathUrl += priority signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_server(server_id) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fog/aliyun/requests/compute/delete_server.rb', line 7 def delete_server(server_id) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/instance&deleteinstance] _action = 'DeleteInstance' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#delete_snapshot(snapshotId) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/fog/aliyun/requests/compute/delete_snapshot.rb', line 7 def delete_snapshot(snapshotId) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/snapshot&deletesnapshot] action = 'DeleteSnapshot' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SnapshotId'] = snapshotId pathUrl += '&SnapshotId=' pathUrl += snapshotId signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_vpc(vpc_id) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aliyun/requests/compute/delete_vpc.rb', line 8 def delete_vpc(vpc_id) action = 'DeleteVpc' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) if vpc_id parameters['VpcId'] = vpc_id pathUrl += '&VpcId=' pathUrl += vpc_id else raise ArgumentError, 'Missing required vpc_id' end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_vpn_connection(vpn_connectionid) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aliyun/requests/compute/delete_vpn_connection.rb', line 7 def delete_vpn_connection(vpn_connectionid) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/vswitch&deletevswitch] action = 'DeleteVpnConnection' sigNonce = randonStr time = Time.new.utc parameters = defalutVPCParameters(action, sigNonce, time) pathUrl = defaultAliyunVPCUri(action, sigNonce, time) if vpn_connectionid parameters['VpnConnectionId'] = vpn_connectionid pathUrl += '&VpnConnectionId=' pathUrl += vpn_connectionid else raise ArgumentError, 'Missing required vpn_connectionid' end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature VPCrequest( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_vpn_customergateway(vpn_customergatewayid) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aliyun/requests/compute/delete_vpn_customergateway.rb', line 7 def delete_vpn_customergateway(vpn_customergatewayid) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/vswitch&deletevswitch] action = 'DeleteCustomerGateway' sigNonce = randonStr time = Time.new.utc parameters = defalutVPCParameters(action, sigNonce, time) pathUrl = defaultAliyunVPCUri(action, sigNonce, time) if vpn_customergatewayid parameters['CustomerGatewayId'] = vpn_customergatewayid pathUrl += '&CustomerGatewayId=' pathUrl += vpn_customergatewayid else raise ArgumentError, 'Missing required vpn_customergatewayid' end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature VPCrequest( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#delete_vswitch(vswitch_id) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aliyun/requests/compute/delete_vswitch.rb', line 7 def delete_vswitch(vswitch_id) # {Aliyun API Reference}[https://docs.aliyun.com/?spm=5176.100054.3.1.DGkmH7#/pub/ecs/open-api/vswitch&deletevswitch] action = 'DeleteVSwitch' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) if vswitch_id parameters['VSwitchId'] = vswitch_id pathUrl += '&VSwitchId=' pathUrl += vswitch_id else raise ArgumentError, 'Missing required vswitch_id' end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#detach_disk(instanceId, diskId, _options = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/fog/aliyun/requests/compute/detach_disk.rb', line 10 def detach_disk(instanceId, diskId, = {}) action = 'DetachDisk' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['InstanceId'] = instanceId pathUrl += '&InstanceId=' pathUrl += instanceId parameters['DiskId'] = diskId pathUrl += '&DiskId=' pathUrl += diskId device = [:device] if device parameters['Device'] = device pathUrl += '&Device=' pathUrl += Addressable::URI.encode_component(device, Addressable::URI::CharacterClasses::UNRESERVED + '|') end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#get_instance_type(cpuCount, memorySize) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/fog/aliyun/requests/compute/list_server_types.rb', line 26 def get_instance_type(cpuCount, memorySize) _action = 'DescribeInstanceTypes' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature response = request( expects: [200, 203], method: 'GET', path: _pathURL ) _InstanceTypeId = nil _InstanceTypeList = response.body['InstanceTypes']['InstanceType'] _InstanceTypeList.each do |instance_type| next unless (instance_type['CpuCoreCount'] == cpuCount) && (instance_type['MemorySize'] == memorySize) _InstanceTypeId = instance_type['InstanceTypeId'] puts '_instanceTypeId: ' + _InstanceTypeId break end _InstanceTypeId end |
#join_security_group(server_id, group_id) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/fog/aliyun/requests/compute/join_security_group.rb', line 8 def join_security_group(server_id, group_id) _action = 'JoinSecurityGroup' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _parameters['SecurityGroupId'] = group_id _pathURL += '&SecurityGroupId=' + group_id _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#leave_security_group(server_id, group_id) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/fog/aliyun/requests/compute/leave_security_group.rb', line 8 def leave_security_group(server_id, group_id) _action = 'LeaveSecurityGroup' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _parameters['SecurityGroupId'] = group_id _pathURL += '&SecurityGroupId=' + group_id _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#list_disks(options = {}) ⇒ Object
Describe disks.
Parameters
-
options<~hash>
* :diskIds - arry of diskId, the length of arry should less than or equal to 100. * :instanceId - id of the instance * :diskType - Default 'all'.Can be set to all | system | data * :category - Default 'all'. Can be set to all | cloud | cloud_efficiency | cloud_ssd | ephemeral | ephemeral_ssd * :state - status of the disk. Default 'All'. Can be set to In_use | Available | Attaching | Detaching | Creating | ReIniting | All * :snapshotId - id of snapshot which used to create disk. * :name - name of disk * :portable - If ture, can exist dependently,which means it can be mount or umont in available zones. Else, it must be created or destroyed with a instance. The value for ocal disks and system disks on the cloud and cloud disks paid by month must be false. * :delWithIns - If ture, the disk will be released when the instance is released. * :delAutoSna - If ture, the auto created snapshot will be destroyed when the disk is destroyed * :enAutoSna - Whether the disk apply the auto snapshot strategy. * :diskChargeType - Prepaid | Postpaid
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘RequestId’<~String> - Id of the request
-
‘Disks’<~Hash> - list of Disk,and the parameter of disk refer to the Volume model
-
-
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/fog/aliyun/requests/compute/list_disks.rb', line 32 def list_disks( = {}) action = 'DescribeDisks' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) pageNumber = [:pageNumber] pageSize = [:pageSize] instanceId = [:instanceId] diskIds = [:diskIds] diskType = [:diskType] category = [:category] state = [:state] snapshotId = [:snapshotId] name = [:name] portable = [:portable] delWithIns = [:deleteWithInstance] delAutoSna = [:deleteAutoSnapshot] enAutoSna = [:enableAutoSnapshot] diskChargeType = [:diskChargeType] if diskChargeType parameters['DiskChargeType'] = diskChargeType pathUrl += '&DiskChargeType=' pathUrl += diskChargeType end if enAutoSna parameters['EnableAutoSnapshot'] = enAutoSna pathUrl += '&EnableAutoSnapshot=' pathUrl += enAutoSna end if delAutoSna parameters['DeleteAutoSnapshot'] = delAutoSna pathUrl += '&DeleteAutoSnapshot=' pathUrl += delAutoSna end if delWithIns parameters['DeleteWithInstance'] = delWithIns pathUrl += '&DeleteWithInstance=' pathUrl += delWithIns end if portable parameters['Portable'] = portable pathUrl += '&Portable=' pathUrl += portable end if name parameters['DiskName'] = name pathUrl += '&DiskName=' pathUrl += name end if snapshotId parameters['SnapshotId'] = snapshotId pathUrl += '&SnapshotId=' pathUrl += snapshotId end if state parameters['Status'] = state pathUrl += '&Status=' pathUrl += state end if category parameters['DiskType'] = diskType pathUrl += '&DiskType=' pathUrl += diskType end if category parameters['Category'] = category pathUrl += '&Category=' pathUrl += category end if instanceId parameters['InstanceId'] = instanceId pathUrl += '&InstanceId=' pathUrl += instanceId end if diskIds parameters['DiskIds'] = Fog::JSON.encode(diskIds) pathUrl += '&DiskIds=' pathUrl += Fog::JSON.encode(diskIds) end if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize = [:pageSize] pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_eip_addresses(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/fog/aliyun/requests/compute/list_eip_addresses.rb', line 8 def list_eip_addresses( = {}) _action = 'DescribeEipAddresses' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _Status = [:state] if _Status _parameters['Status'] = _Status _pathURL += '&Status=' + _Status end _EipAddress = [:ip_address] if _EipAddress _parameters['EipAddress'] = _EipAddress _pathURL += '&EipAddress=' + _EipAddress end _AllocationId = [:allocation_id] if _AllocationId _parameters['AllocationId'] = _AllocationId _pathURL += '&AllocationId=' + _AllocationId end _PageNumber = [:page_number] if _PageNumber _parameters['PageNumber'] = _PageNumber _pathURL += '&PageNumber=' + _PageNumber end _PageSize = [:page_size] _PageSize ||= '50' _parameters['PageSize'] = _PageSize _pathURL += '&PageSize=' + _PageSize _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#list_images(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/fog/aliyun/requests/compute/list_images.rb', line 8 def list_images( = {}) action = 'DescribeImages' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) pageNumber = [:pageNumber] if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize = [:pageSize] pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize imageId = [:imageId] if imageId parameters['ImageId'] = imageId pathUrl += '&ImageId=' pathUrl += imageId end imageName = [:imageName] if imageName parameters['ImageName'] = imageName pathUrl += '&ImageName=' pathUrl += imageName end snapshotId = [:snapshotId] if snapshotId parameters['SnapshotId'] = snapshotId pathUrl += '&SnapshotId=' pathUrl += snapshotId end ownerAlias = [:ownerAlias] if ownerAlias parameters['ImageOwnerAlias'] = ownerAlias pathUrl += '&ImageOwnerAlias=' pathUrl += ownerAlias end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_route_tables(vrouterid, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/fog/aliyun/requests/compute/list_route_tables.rb', line 8 def list_route_tables(vrouterid, = {}) action = 'DescribeRouteTables' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['VRouterId'] = vrouterid pathUrl += '&VRouterId=' pathUrl += vrouterid pageNumber = [:pageNumber] pageSize = [:pageSize] routeTableId = [:routeTableId] if routeTableId parameters['RouteTableId'] = routeTableId pathUrl += '&RouteTableId=' pathUrl += routeTableId end if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_security_group_rules(securityGroupId, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/fog/aliyun/requests/compute/list_security_group_rules.rb', line 8 def list_security_group_rules(securityGroupId, = {}) action = 'DescribeSecurityGroupAttribute' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['SecurityGroupId'] = securityGroupId pathUrl += '&SecurityGroupId=' pathUrl += securityGroupId nicType = [:nicType] if nicType parameters['NicType'] = nicType pathUrl += '&NicType=' pathUrl += nicType end pageNumber = [:pageNumber] pageSize = [:pageSize] if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end if pageSize parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_security_groups(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/fog/aliyun/requests/compute/list_security_groups.rb', line 8 def list_security_groups( = {}) action = 'DescribeSecurityGroups' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) pageNumber = [:pageNumber] pageSize = [:pageSize] vpcId = [:vpcId] if vpcId parameters['VpcId'] = vpcId pathUrl += '&VpcId=' pathUrl += vpcId end if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize = [:pageSize] pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200], method: 'GET', path: pathUrl ) end |
#list_server_types ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/fog/aliyun/requests/compute/list_server_types.rb', line 8 def list_server_types _action = 'DescribeInstanceTypes' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 203], method: 'GET', path: _pathURL ) end |
#list_servers(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/fog/aliyun/requests/compute/list_servers.rb', line 8 def list_servers( = {}) _action = 'DescribeInstances' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _query_parameters = defaultAliyunQueryParameters(_action, _sigNonce, _time) _InstanceId = [:instanceId] _VpcId = [:vpcId] _SecurityGroupId = [:securityGroupId] _PageNumber = [:pageNumber] _PageSize = [:pageSize] unless _InstanceId.nil? _InstanceStr = "[\"#{_InstanceId}\"]" _parameters['InstanceIds'] = _InstanceStr _query_parameters[:InstanceIds] = _InstanceStr end unless _VpcId.nil? _parameters['VpcId'] = _VpcId _query_parameters[:VpcId] = _VpcId end unless _SecurityGroupId.nil? _parameters['SecurityGroupId'] = _SecurityGroupId _query_parameters[:SecurityGroupId] = _SecurityGroupId end unless _PageNumber.nil? _parameters['PageNumber'] = _PageNumber _query_parameters[:PageNumber] = _PageNumber end _PageSize ||= '50' _parameters['PageSize'] = _PageSize _query_parameters[:PageSize] = _PageSize _signature = sign_without_encoding(@aliyun_accesskey_secret, _parameters) _query_parameters[:Signature] = _signature request( expects: [200, 203], method: 'GET', query: _query_parameters ) end |
#list_snapshots(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
# File 'lib/fog/aliyun/requests/compute/list_snapshots.rb', line 8 def list_snapshots( = {}) action = 'DescribeSnapshots' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) pageNumber = [:pageNumber] pageSize = [:pageSize] instanceId = [:instanceId] diskId = [:diskId] snapshotId = [:snapshotIds] sourceDiskType = [:sourceDiskType] name = [:snapshotName] state = [:state] type = [:snapshotType] usage = [:usage] if usage parameters['Usage'] = usage pathUrl += '&Usage=' pathUrl += usage end if type parameters['SnapshotType'] = type pathUrl += '&SnapshotType=' pathUrl += type end if state parameters['Status'] = state pathUrl += '&Status=' pathUrl += state end if name parameters['SnapshotName'] = name pathUrl += '&SnapshotName=' pathUrl += name end if instanceId parameters['InstanceId'] = instanceId pathUrl += '&InstanceId=' pathUrl += instanceId end if diskId parameters['DiskId'] = diskId pathUrl += '&DiskId=' pathUrl += diskId end if snapshotId parameters['SnapshotIds'] = Fog::JSON.encode(snapshotId) pathUrl += '&SnapshotIds=' pathUrl += Fog::JSON.encode(snapshotId) end if sourceDiskType parameters['SourceDiskType'] = sourceDiskType pathUrl += '&SourceDiskType=' pathUrl += sourceDiskType end if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_vpcs(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aliyun/requests/compute/list_vpcs.rb', line 8 def list_vpcs( = {}) action = 'DescribeVpcs' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) _VpcId = [:vpcId] if _VpcId parameters['VpcId'] = _VpcId pathUrl += '&VpcId=' pathUrl += _VpcId end pageNumber = [:pageNumber] pageSize = [:pageSize] if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_vpn_connections(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aliyun/requests/compute/list_vpn_connections.rb', line 8 def list_vpn_connections( = {}) action = 'DescribeVpnConnections' sigNonce = randonStr time = Time.new.utc parameters = defalutVPCParameters(action, sigNonce, time) pathUrl = defaultAliyunVPCUri(action, sigNonce, time) _VpnGatewayId = [:vpngatewayId] if _VpnGatewayId parameters['VpnGatewayId'] = _VpnGatewayId pathUrl += '&VpnGatewayId=' pathUrl += _VpnGatewayId end pageNumber = [:pageNumber] pageSize = [:pageSize] if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature VPCrequest( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_vpn_customergateways(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/fog/aliyun/requests/compute/list_vpn_customergateways.rb', line 8 def list_vpn_customergateways( = {}) action = 'DescribeCustomerGateways' sigNonce = randonStr time = Time.new.utc parameters = defalutVPCParameters(action, sigNonce, time) pathUrl = defaultAliyunVPCUri(action, sigNonce, time) pageNumber = [:pageNumber] pageSize = [:pageSize] if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature VPCrequest( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_vpn_gateways(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aliyun/requests/compute/list_vpn_gateways.rb', line 8 def list_vpn_gateways( = {}) action = 'DescribeVpnGateways' sigNonce = randonStr time = Time.new.utc parameters = defalutVPCParameters(action, sigNonce, time) pathUrl = defaultAliyunVPCUri(action, sigNonce, time) _VpcId = [:vpcId] if _VpcId parameters['VpcId'] = _VpcId pathUrl += '&VpcId=' pathUrl += _VpcId end pageNumber = [:pageNumber] pageSize = [:pageSize] if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature VPCrequest( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_vrouters(options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aliyun/requests/compute/list_vrouters.rb', line 8 def list_vrouters( = {}) action = 'DescribeVrouters' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) _VRouterId = [:vRouterId] if _VRouterId parameters['VRouterId'] = _VRouterId pathUrl += '&VRouterId=' pathUrl += _VRouterId end pageNumber = [:pageNumber] pageSize = [:pageSize] if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_vswitchs(vpcid, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/fog/aliyun/requests/compute/list_vswitchs.rb', line 8 def list_vswitchs(vpcid, = {}) action = 'DescribeVSwitches' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['VpcId'] = vpcid pathUrl += '&VpcId=' pathUrl += vpcid pageNumber = [:pageNumber] pageSize = [:pageSize] vswitchId = [:vSwitchId] if vswitchId parameters['VSwitchId'] = vswitchId pathUrl += '&VSwitchId=' pathUrl += vswitchId end if pageNumber parameters['PageNumber'] = pageNumber pathUrl += '&PageNumber=' pathUrl += pageNumber end pageSize ||= '50' parameters['PageSize'] = pageSize pathUrl += '&PageSize=' pathUrl += pageSize signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#list_zones ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/fog/aliyun/requests/compute/list_zones.rb', line 8 def list_zones action = 'DescribeZones' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#modify_switch(vSwitchId, options = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aliyun/requests/compute/modify_vswitch.rb', line 10 def modify_switch(vSwitchId, = {}) action = 'ModifyVSwitchAttribute' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['VSwitchId'] = vSwitchId pathUrl += '&VSwitchId=' pathUrl += Addressable::URI.encode_component(vpcId, Addressable::URI::CharacterClasses::UNRESERVED + '|') name = [:name] desc = [:description] if name parameters['VSwitchName'] = name pathUrl += '&VSwitchName=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#modify_vpc(vpcId, options = {}) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fog/aliyun/requests/compute/modify_vpc.rb', line 10 def modify_vpc(vpcId, = {}) action = 'ModifyVpcAttribute' sigNonce = randonStr time = Time.new.utc parameters = defaultParameters(action, sigNonce, time) pathUrl = defaultAliyunUri(action, sigNonce, time) parameters['VpcId'] = vpcId pathUrl += '&VpcId=' pathUrl += Addressable::URI.encode_component(vpcId, Addressable::URI::CharacterClasses::UNRESERVED + '|') name = [:name] desc = [:description] if name parameters['VpcName'] = name pathUrl += '&VpcName=' pathUrl += name end if desc parameters['Description'] = desc pathUrl += '&Description=' pathUrl += desc end signature = sign(@aliyun_accesskey_secret, parameters) pathUrl += '&Signature=' pathUrl += signature request( expects: [200, 203], method: 'GET', path: pathUrl ) end |
#randonStr ⇒ Object
generate random num
380 381 382 383 384 385 |
# File 'lib/fog/aliyun/compute.rb', line 380 def randonStr numStr = rand(100_000).to_s timeStr = Time.now.to_f.to_s ranStr = timeStr + '-' + numStr ranStr end |
#reboot_server(server_id, options = {}) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aliyun/requests/compute/reboot_server.rb', line 8 def reboot_server(server_id, = {}) _action = 'RebootInstance' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _ForceStop = [:aliyun_ForceStop] if _ForceStop _parameters['ForceStop'] = _ForceStop _pathURL += '&ForceStop=' + _ForceStop end _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#release_eip_address(allocationId) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/fog/aliyun/requests/compute/release_eip_address.rb', line 8 def release_eip_address(allocationId) _action = 'ReleaseEipAddress' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['AllocationId'] = allocationId _pathURL += '&AllocationId=' + allocationId _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#reload ⇒ Object
301 302 303 304 |
# File 'lib/fog/aliyun/compute.rb', line 301 def reload @connection.reset @VPCconnection.reset end |
#request(params) ⇒ Object
306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 |
# File 'lib/fog/aliyun/compute.rb', line 306 def request(params) begin response = @connection.request(params.merge(headers: { 'Content-Type' => 'application/json', 'Accept' => 'application/json', 'X-Auth-Token' => @auth_token }.merge!(params[:headers] || {}), path: "#{@path}/#{params[:path]}", query: params[:query])) rescue Excon::Errors::HTTPStatusError => error raise case error when Excon::Errors::NotFound Fog::Compute::Aliyun::NotFound.slurp(error) else error end end response.body = Fog::JSON.decode(response.body) if !response.body.empty? && response.get_header('Content-Type') == 'application/json' response end |
#sign(accessKeySecret, parameters) ⇒ Object
compute signature This method should be considered deprecated and replaced with sign_without_encoding, which is better for using querystring hashes and not building querystrings with string concatination.
423 424 425 426 |
# File 'lib/fog/aliyun/compute.rb', line 423 def sign(accessKeySecret, parameters) signature = sign_without_encoding(accessKeySecret, parameters) Addressable::URI.encode_component(signature, Addressable::URI::CharacterClasses::UNRESERVED + '|') end |
#sign_without_encoding(accessKeySecret, parameters) ⇒ Object
428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 |
# File 'lib/fog/aliyun/compute.rb', line 428 def sign_without_encoding(accessKeySecret, parameters) sortedParameters = parameters.sort canonicalizedQueryString = '' sortedParameters.each do |k, v| canonicalizedQueryString += '&' + Addressable::URI.encode_component(k, Addressable::URI::CharacterClasses::UNRESERVED + '|') + '=' + Addressable::URI.encode_component(v, Addressable::URI::CharacterClasses::UNRESERVED + '|') end canonicalizedQueryString[0] = '' stringToSign = 'GET&%2F&' + Addressable::URI.encode_component(canonicalizedQueryString, Addressable::URI::CharacterClasses::UNRESERVED + '|') key = accessKeySecret + '&' digVer = OpenSSL::Digest.new('sha1') digest = OpenSSL::HMAC.digest(digVer, key, stringToSign) signature = Base64.encode64(digest) signature[-1] = '' signature end |
#start_server(server_id) ⇒ Object
Start the server.
Parameters
-
server_id <~String> - The ID of the server to be started.
Returns
-
success <~Boolean>
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aliyun/requests/compute/start_server.rb', line 14 def start_server(server_id) _action = 'StartInstance' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#stop_server(server_id) ⇒ Object
Stop the server.
Parameters
-
server_id <~String> - The ID of the server to be stopped.
Returns
-
success <~Boolean>
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/fog/aliyun/requests/compute/stop_server.rb', line 14 def stop_server(server_id) _action = 'StopInstance' _sigNonce = randonStr _time = Time.new.utc _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#unassociate_eip_address(server_id, allocationId, options = {}) ⇒ Object
Disassociate an avalable eip IP address to the given instance.
Parameters
-
server_id<~String> - id of the instance
-
allocationId<~String> - id of the EIP
Returns
-
response<~Excon::Response>:
-
body<~Hash>:
-
‘RequestId’<~String> - Id of the request
-
-
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/fog/aliyun/requests/compute/unassociate_eip_address.rb', line 18 def unassociate_eip_address(server_id, allocationId, = {}) _action = 'UnassociateEipAddress' _sigNonce = randonStr _time = Time.new.utc type = ['instance_type'] _parameters = defaultParameters(_action, _sigNonce, _time) _pathURL = defaultAliyunUri(_action, _sigNonce, _time) _parameters['InstanceId'] = server_id _pathURL += '&InstanceId=' + server_id _parameters['AllocationId'] = allocationId _pathURL += '&AllocationId=' + allocationId if type _parameters['InstanceType'] = type _pathURL += 'InstanceType=' + type end _signature = sign(@aliyun_accesskey_secret, _parameters) _pathURL += '&Signature=' + _signature request( expects: [200, 204], method: 'GET', path: _pathURL ) end |
#VPCrequest(params) ⇒ Object
329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 |
# File 'lib/fog/aliyun/compute.rb', line 329 def VPCrequest(params) begin response = @VPCconnection.request(params.merge(headers: { 'Content-Type' => 'application/json', 'Accept' => 'application/json', 'X-Auth-Token' => @auth_token }.merge!(params[:headers] || {}), path: "#{@path}/#{params[:path]}", query: params[:query])) rescue Excon::Errors::HTTPStatusError => error raise case error when Excon::Errors::NotFound Fog::Compute::Aliyun::NotFound.slurp(error) else error end end response.body = Fog::JSON.decode(response.body) if !response.body.empty? && response.get_header('Content-Type') == 'application/json' response end |