{"id":4542,"date":"2014-05-01T11:00:24","date_gmt":"2014-05-01T02:00:24","guid":{"rendered":"http:\/\/www.creationline.com\/?p=4542"},"modified":"2023-08-29T12:48:44","modified_gmt":"2023-08-29T03:48:44","slug":"softlayer-api-ruby-client-%e3%81%a7-virtual-server-%e3%82%92%e4%bd%9c%e6%88%90%e3%83%bb%e9%96%b2%e8%a6%a7%e3%83%bb%e7%a0%b4%e6%a3%84%e3%81%99%e3%82%8b-softlayer","status":"publish","type":"post","link":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542","title":{"rendered":"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer"},"content":{"rendered":"<h2>softlayer-api-ruby-client \u3068\u306f<\/h2>\n<p><a href=\"https:\/\/github.com\/softlayer\/softlayer-api-ruby-client\">softlayer-api-ruby-client<\/a> \u3068\u306f\u3001SoftLayer \u306e API \u547c\u3073\u51fa\u3057\u3092\u652f\u63f4\u3059\u308b Ruby \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f <a href=\"http:\/\/sldn.softlayer.com\/article\/Ruby\">Ruby | SoftLayer Development Network<\/a> \u306b\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>softlayer-api-ruby-client \u306f <a href=\"https:\/\/rubygems.org\/gems\/softlayer_api\">RubyGems \u3067\u63d0\u4f9b<\/a>\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u3042\u3089\u304b\u3058\u3081 gem \u30b3\u30de\u30f3\u30c9\u3067\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u304a\u3044\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n<h2>softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u3059\u308b<\/h2>\n<p>\u305d\u308c\u3067\u306f softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>\u30d7\u30ed\u30b0\u30e9\u30e0<\/h3>\n<p><code lang=\"ruby\"><br \/>\n#!\/usr\/bin\/ruby<\/code><\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>require 'softlayer_api'<br \/>\nrequire 'pp'<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# fill your SoftLayer API username and API key<br \/>\n#<br \/>\napi_username = ENV['SOFTLAYER_API_USERNAME'] || 'YOUR_SOFTLAYER_API_USERNAME'<br \/>\napi_key = ENV['SOFTLAYER_API_KEY'] || 'YOUR_SOFTLAYER_API_KEY'<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest<br \/>\n#<br \/>\nvirtual_guest_service = SoftLayer::Service.new( 'SoftLayer_Virtual_Guest',<br \/>\n:username =&gt; api_username,<br \/>\n:api_key =&gt; api_key,<br \/>\n)<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\/createObject<br \/>\n#<br \/>\ntemplate = {}<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# Required<br \/>\n#<br \/>\ntemplate['hostname'] = 'test-%s' % Time.now.strftime( '%F%T' ).gsub(\/\\D\/, '' )<br \/>\ntemplate['domain'] = 'example.jp'<br \/>\ntemplate['startCpus'] = 1<br \/>\ntemplate['maxMemory'] = 1024<br \/>\ntemplate['hourlyBillingFlag'] = true<br \/>\ntemplate['localDiskFlag'] = true<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# Optional<br \/>\n#<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Disk_Image\/<br \/>\ntemplate['blockDevices'] = [ { 'device' =&gt; 0,<br \/>\n'diskImage' =&gt; { 'capacity' =&gt; 25 } } ]<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Location\/<br \/>\ntemplate['datacenter'] = { 'name' =&gt; 'sjc01' }<br \/>\ntemplate['operatingSystemReferenceCode'] = 'UBUNTU_12_64'<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Guest_Network_Component\/<br \/>\ntemplate['networkComponents'] = [ { 'maxSpeed' =&gt; 10 } ]<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# Optional (default)<br \/>\n#<br \/>\n# template['dedicatedAccountHostOnlyFlag']<br \/>\n# template['blockDeviceTemplateGroup'] globalIdentifier<br \/>\n# template['privateNetworkOnlyFlag']<br \/>\n# template['primaryNetworkComponent'] networkVlan.id<br \/>\n# template['primaryBackendNetworkComponent'] networkVlan.id<br \/>\n# template['userData'] value<br \/>\n# template['sshKeys']<br \/>\n# template['postInstallScriptUri']<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>response = virtual_guest_service.createObject( template )<\/p>\n<p><code lang=\"ruby\"><br \/>\n<\/code><\/p>\n<p><code lang=\"ruby\">#<br \/>\n# result<br \/>\n#<br \/>\npp response<\/code><\/p>\n<h3>\u89e3\u8aac<\/h3>\n<p>API\u30b5\u30fc\u30d3\u30b9\u306f SoftLayer::Service \u30af\u30e9\u30b9\u3092\u901a\u3057\u3066\u5229\u7528\u3057\u307e\u3059\u3002<br \/>\n\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u4f5c\u6210\u306f\u3001<a href=\"http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\">SoftLayer_Virtual_Guest<\/a> API \u30b5\u30fc\u30d3\u30b9\u3092\u7528\u3044\u307e\u3059\u3002<br \/>\n\u307e\u305a\u3053\u308c\u306b\u5bfe\u3057\u3066\u8a8d\u8a3c\u3092\u884c\u3044\u307e\u3059\u3002<br \/>\n\u8fd4\u308a\u5024\u306f <a href=\"http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Guest\">SoftLayer_Virtual_Guest<\/a> \u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u3068\u306a\u308a\u307e\u3059\u3002\u4ee5\u964d\u306f\u3053\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u901a\u3057\u3066\u64cd\u4f5c\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\nvirtual_guest_service = SoftLayer::Service.new( 'SoftLayer_Virtual_Guest',<br \/>\n:username =&gt; api_username,<br \/>\n:api_key =&gt; api_key,<br \/>\n)<br \/>\n<\/code><\/p>\n<p>\u4f5c\u6210\u3059\u308b\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u8a2d\u5b9a\u3092\u6c7a\u3081\u307e\u3059\u3002<br \/>\n\u8a2d\u5b9a\u3067\u304d\u308b\u9805\u76ee\u306f <a href=\"http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\/createObject\">SoftLayer_Virtual_Guest::createObject<\/a> \u306b\u3042\u308b\u901a\u308a\u3067\u3001\u5fc5\u9808\u9805\u76ee\u3001\u6761\u4ef6\u3064\u304d\u5fc5\u9808\u9805\u76ee\u3001\u4efb\u610f\u9805\u76ee\u306b\u5206\u304b\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p>\u307e\u305a\u5fc5\u9808\u9805\u76ee\u3067\u3059\u3002<\/p>\n<ul>\n<li>\u30db\u30b9\u30c8\u540d: test-\u5e74\u6708\u65e5\u6642\u5206\u79d2<\/li>\n<li>\u30c9\u30e1\u30a4\u30f3\u540d: example.jp<\/li>\n<li>CPU\u30b3\u30a2\u6570: 1<\/li>\n<li>\u30e1\u30e2\u30ea: 1024MB<\/li>\n<li>\u8ab2\u91d1: \u6642<\/li>\n<li>\u30c7\u30a3\u30b9\u30af: \u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30b9\u30af<\/li>\n<\/ul>\n<p>\u3053\u306e\u9805\u76ee\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002<br \/>\n\u8ab2\u91d1\u306f\u6642\u3068\u6708\u3067\u9078\u629e\u3067\u304d\u3001\u30c7\u30a3\u30b9\u30af\u306f\u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30b9\u30af\u3068SAN\u3067\u9078\u629e\u3067\u304d\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ntemplate['hostname'] = 'test-%s' % Time.now.strftime( '%F%T' ).gsub(\/\\D\/, '' )<br \/>\ntemplate['domain'] = 'example.jp'<br \/>\ntemplate['startCpus'] = 1<br \/>\ntemplate['maxMemory'] = 1024<br \/>\ntemplate['hourlyBillingFlag'] = true<br \/>\ntemplate['localDiskFlag'] = true<br \/>\n<\/code><\/p>\n<p>\u6b21\u306b\u4efb\u610f\u9805\u76ee\u3067\u3059\u3002<\/p>\n<ul>\n<li>\u30d6\u30ed\u30c3\u30af\u30c7\u30d0\u30a4\u30b9: 0\u756a 25GB<\/li>\n<li>\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc: \u30b5\u30f3\u30ce\u30bc<\/li>\n<li>OS: Ubuntu 12.04 (amd64)<\/li>\n<li>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af: 10Mbps<\/li>\n<\/ul>\n<p>\u3053\u306e\u9805\u76ee\u3067\u8a2d\u5b9a\u3057\u307e\u3059\u3002<br \/>\n\u30d6\u30ed\u30c3\u30af\u30c7\u30d0\u30a4\u30b9\u306f <a href=\"http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Disk_Image\/\">SoftLayer_Virtual_Disk_Image<\/a> \u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u306b\u57fa\u3044\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u914d\u5217\u3067\u8907\u6570\u306e\u30c7\u30d0\u30a4\u30b9\u3092\u5272\u308a\u5f53\u3066\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u306a\u304a\u30011\u756a\u306f\u30b9\u30ef\u30c3\u30d7\u30c7\u30d0\u30a4\u30b9\u3068\u3057\u3066\u4e88\u7d04\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ntemplate['blockDevices'] = [ { 'device' =&gt; 0,<br \/>\n'diskImage' =&gt; { 'capacity' =&gt; 25 } } ]<br \/>\n<\/code><\/p>\n<p>\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u30fc\u306f <a href=\"http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Location\/\">SoftLayer_Location<\/a> \u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u306b\u57fa\u3044\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ntemplate['datacenter'] = { 'name' =&gt; 'sjc01' }<br \/>\n<\/code><\/p>\n<p>\u30aa\u30da\u30ec\u30fc\u30c6\u30a3\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u306f <a href=\"http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Container_Virtual_Guest_Configuration\">SoftLayer_Container_Virtual_Guest_Configuration<\/a> \u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u306b\u57fa\u3044\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ntemplate['operatingSystemReferenceCode'] = 'UBUNTU_12_64'<br \/>\n<\/code><\/p>\n<p>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u901f\u5ea6\u306f <a href=\"http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Guest_Network_Component\/\">SoftLayer_Virtual_Guest_Network_Component<\/a> \u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u306b\u57fa\u3044\u3066\u8a2d\u5b9a\u3057\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ntemplate['networkComponents'] = [ { 'maxSpeed' =&gt; 10 } ]<br \/>\n<\/code><\/p>\n<p>\u3053\u3053\u3067\u306f\u6b21\u306e\u4efb\u610f\u9805\u76ee\u306f\u6307\u5b9a\u305b\u305a\u3001\u3059\u3079\u3066\u30c7\u30d5\u30a9\u30eb\u30c8\u5024\u3092\u7528\u3044\u308b\u3053\u3068\u3068\u3057\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n# template['dedicatedAccountHostOnlyFlag']<br \/>\n# template['blockDeviceTemplateGroup'] globalIdentifier<br \/>\n# template['privateNetworkOnlyFlag']<br \/>\n# template['primaryNetworkComponent'] networkVlan.id<br \/>\n# template['primaryBackendNetworkComponent'] networkVlan.id<br \/>\n# template['userData'] value<br \/>\n# template['sshKeys']<br \/>\n# template['postInstallScriptUri']<br \/>\n<\/code><\/p>\n<p>\u8a2d\u5b9a\u5024\u3092 template \u30cf\u30c3\u30b7\u30e5\u306b\u307e\u3068\u3081\u3066 <a href=\"http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\/createObject\">SoftLayer_Virtual_Guest::createObject<\/a> \u306b\u4e0e\u3048\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\nresponse = virtual_guest_service.createObject( template )<\/code><\/p>\n<p><code lang=\"ruby\"><br \/>\n<\/code><\/p>\n<p><code lang=\"ruby\">pp response<\/code><\/p>\n<p>\u6b21\u306e <a href=\"http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Guest\">SoftLayer_Virtual_Guest<\/a> \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u5f97\u3089\u308c\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n{\"accountId\"=&gt;XXXX78,<br \/>\n\"createDate\"=&gt;\"2014-04-30T13:01:17+09:00\",<br \/>\n\"dedicatedAccountHostOnlyFlag\"=&gt;false,<br \/>\n\"domain\"=&gt;\"example.jp\",<br \/>\n\"fullyQualifiedDomainName\"=&gt;\"test-20140430130115.example.jp\",<br \/>\n\"hostname\"=&gt;\"test-20140430130115\",<br \/>\n\"id\"=&gt;XXXXX14,<br \/>\n\"lastPowerStateId\"=&gt;nil,<br \/>\n\"lastVerifiedDate\"=&gt;nil,<br \/>\n\"maxCpu\"=&gt;1,<br \/>\n\"maxCpuUnits\"=&gt;\"CORE\",<br \/>\n\"maxMemory\"=&gt;1024,<br \/>\n\"metricPollDate\"=&gt;nil,<br \/>\n\"modifyDate\"=&gt;nil,<br \/>\n\"startCpus\"=&gt;1,<br \/>\n\"statusId\"=&gt;1001,<br \/>\n\"globalIdentifier\"=&gt;\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",<br \/>\n\"status\"=&gt;{\"keyName\"=&gt;\"ACTIVE\", \"name\"=&gt;\"Active\"}}<br \/>\n<\/code><\/p>\n<p>Web UI \u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u6e96\u5099\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<h2>softlayer-api-ruby-client \u3067 Virtual Server \u3092\u95b2\u89a7\u3059\u308b<\/h2>\n<p>\u6b21\u306b\u4f5c\u6210\u3057\u305f\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092 softlayer-api-ruby-client \u3067\u95b2\u89a7\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>\u30d7\u30ed\u30b0\u30e9\u30e0<\/h3>\n<p><code lang=\"ruby\"><br \/>\n#!\/usr\/bin\/ruby<\/code><\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>require 'softlayer_api'<br \/>\nrequire 'pp'<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# fill your SoftLayer API username and API key<br \/>\n#<br \/>\napi_username = ENV['SOFTLAYER_API_USERNAME'] || 'YOUR_SOFTLAYER_API_USERNAME'<br \/>\napi_key = ENV['SOFTLAYER_API_KEY'] || 'YOUR_SOFTLAYER_API_KEY'<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# Virtual Server id<br \/>\n#<br \/>\nid = ARGV.shift()<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest<br \/>\n#<br \/>\nvirtual_guest_service = SoftLayer::Service.new( 'SoftLayer_Virtual_Guest',<br \/>\n:username =&gt; api_username,<br \/>\n:api_key =&gt; api_key,<br \/>\n)<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Guest<br \/>\n#<br \/>\n# https:\/\/github.com\/softlayer\/softlayer-python\/blob\/v3.1.0\/SoftLayer\/managers\/vs.py#L139<br \/>\n#<br \/>\nmask = [<br \/>\n'id',<br \/>\n'globalIdentifier',<br \/>\n'fullyQualifiedDomainName',<br \/>\n'hostname',<br \/>\n'domain',<br \/>\n'createDate',<br \/>\n'modifyDate',<br \/>\n'provisionDate',<br \/>\n'notes',<br \/>\n'dedicatedAccountHostOnlyFlag',<br \/>\n'privateNetworkOnlyFlag',<br \/>\n'primaryBackendIpAddress',<br \/>\n'primaryIpAddress',<br \/>\n'networkComponents[id, status, speed, maxSpeed, name,' +<br \/>\n'macAddress, primaryIpAddress, port, primarySubnet]',<br \/>\n'lastKnownPowerState.name',<br \/>\n'powerState',<br \/>\n'status',<br \/>\n'maxCpu',<br \/>\n'maxMemory',<br \/>\n'datacenter',<br \/>\n'activeTransaction[id, transactionStatus[friendlyName,name]]',<br \/>\n'lastOperatingSystemReload.id',<br \/>\n'blockDevices',<br \/>\n'blockDeviceTemplateGroup[id, name, globalIdentifier]',<br \/>\n'postInstallScriptUri',<br \/>\n'userData',<br \/>\n'operatingSystem.softwareLicense.' +<br \/>\n'softwareDescription[manufacturer,name,version,referenceCode]',<br \/>\n'operatingSystem.passwords[username,password]',<br \/>\n'hourlyBillingFlag',<br \/>\n'billingItem.recurringFee',<br \/>\n'tagReferences[id,tag[name,id]]',<br \/>\n'networkVlans[id,vlanNumber,networkSpace]',<br \/>\n]<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\/getObject<br \/>\n#<br \/>\ndetail = virtual_guest_service.<br \/>\nobject_with_id( id ).<br \/>\nobject_mask( 'mask[' + mask.join( ',' ) + ']' ).<br \/>\ngetObject<\/p>\n<p><code lang=\"ruby\"><br \/>\n<\/code><\/p>\n<p><code lang=\"ruby\">#<br \/>\n# result<br \/>\n#<br \/>\npp detail<\/code><\/p>\n<h3>\u89e3\u8aac<\/h3>\n<p>\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u95b2\u89a7\u306f\u4f5c\u6210\u540c\u69d8 <a href=\"http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\">SoftLayer_Virtual_Guest<\/a> API \u30b5\u30fc\u30d3\u30b9\u3092\u7528\u3044\u308b\u306e\u3067\u3001\u5192\u982d\u90e8\u5206\u306f\u7701\u7565\u3057\u307e\u3059\u3002<\/p>\n<p>\u53d6\u5f97\u3059\u308b\u30c7\u30fc\u30bf\u306f <a href=\"http:\/\/sldn.softlayer.com\/article\/Object-Masks\">Object Masks<\/a> \u3092\u7528\u3044\u3066\u6c7a\u5b9a\u3057\u307e\u3059\u3002\u5bfe\u8c61\u306f <a href=\"http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Guest\">SoftLayer_Virtual_Guest<\/a> \u30c7\u30fc\u30bf\u30bf\u30a4\u30d7\u3067\u3059\u3002<\/p>\n<p>\u6b21\u306f <a href=\"https:\/\/github.com\/softlayer\/softlayer-python\/blob\/v3.1.0\/SoftLayer\/managers\/vs.py#L139\">\/softlayer-python 3.1.0 SoftLayer\/managers\/vs.py<\/a> \u3092\u6d41\u7528\u3057\u305f\u3082\u306e\u3067\u3059\u3002\u306a\u304a\u3001\u6d41\u7528\u5143\u306f Python \u306a\u306e\u3067\u3001\u6d41\u7528\u5148\u306e Ruby \u306e\u69cb\u6587\u306b\u5408\u308f\u305b\u308b\u305f\u3081\u306b\u5206\u5272\u6587\u5b57\u5217\u306e\u9023\u7d50\u306b + \u3092\u7528\u3044\u3066\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\nmask = [<br \/>\n'id',<br \/>\n'globalIdentifier',<br \/>\n'fullyQualifiedDomainName',<br \/>\n'hostname',<br \/>\n'domain',<br \/>\n'createDate',<br \/>\n'modifyDate',<br \/>\n'provisionDate',<br \/>\n'notes',<br \/>\n'dedicatedAccountHostOnlyFlag',<br \/>\n'privateNetworkOnlyFlag',<br \/>\n'primaryBackendIpAddress',<br \/>\n'primaryIpAddress',<br \/>\n'networkComponents[id, status, speed, maxSpeed, name,' +<br \/>\n'macAddress, primaryIpAddress, port, primarySubnet]',<br \/>\n'lastKnownPowerState.name',<br \/>\n'powerState',<br \/>\n'status',<br \/>\n'maxCpu',<br \/>\n'maxMemory',<br \/>\n'datacenter',<br \/>\n'activeTransaction[id, transactionStatus[friendlyName,name]]',<br \/>\n'lastOperatingSystemReload.id',<br \/>\n'blockDevices',<br \/>\n'blockDeviceTemplateGroup[id, name, globalIdentifier]',<br \/>\n'postInstallScriptUri',<br \/>\n'userData',<br \/>\n'operatingSystem.softwareLicense.' +<br \/>\n'softwareDescription[manufacturer,name,version,referenceCode]',<br \/>\n'operatingSystem.passwords[username,password]',<br \/>\n'hourlyBillingFlag',<br \/>\n'billingItem.recurringFee',<br \/>\n'tagReferences[id,tag[name,id]]',<br \/>\n'networkVlans[id,vlanNumber,networkSpace]',<br \/>\n]<br \/>\n<\/code><\/p>\n<p><a href=\"http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\/getObject\">SoftLayer_Virtual_Guest::getObject<\/a> \u3067\u7279\u5b9a\u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u3092\u53d6\u5f97\u3059\u308b\u306b\u306f object_with_id \u3092\u7528\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ndetail = virtual_guest_service.<br \/>\nobject_with_id( id ).<br \/>\nobject_mask( 'mask[' + mask.join( ',' ) + ']' ).<br \/>\ngetObject<\/code><\/p>\n<p><code lang=\"ruby\"><br \/>\n<\/code><\/p>\n<p><code lang=\"ruby\">pp detail<\/code><\/p>\n<p>\u6b21\u306e <a href=\"http:\/\/sldn.softlayer.com\/reference\/datatypes\/SoftLayer_Virtual_Guest\">SoftLayer_Virtual_Guest<\/a> \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u304c\u5f97\u3089\u308c\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\n{\"createDate\"=&gt;\"2014-04-30T13:01:17+09:00\",<br \/>\n\"dedicatedAccountHostOnlyFlag\"=&gt;false,<br \/>\n\"domain\"=&gt;\"example.jp\",<br \/>\n\"fullyQualifiedDomainName\"=&gt;\"test-20140430130115.example.jp\",<br \/>\n\"hostname\"=&gt;\"test-20140430130115\",<br \/>\n\"id\"=&gt;XXXXX14,<br \/>\n\"maxCpu\"=&gt;1,<br \/>\n\"maxMemory\"=&gt;1024,<br \/>\n\"modifyDate\"=&gt;\"2014-04-30T13:03:20+09:00\",<br \/>\n\"billingItem\"=&gt;{\"recurringFee\"=&gt;\".022\"},<br \/>\n\"blockDevices\"=&gt;<br \/>\n[{\"bootableFlag\"=&gt;1,<br \/>\n\"createDate\"=&gt;\"2014-04-30T13:02:54+09:00\",<br \/>\n\"device\"=&gt;\"0\",<br \/>\n\"diskImageId\"=&gt;XXXXX08,<br \/>\n\"guestId\"=&gt;XXXXX14,<br \/>\n\"hotPlugFlag\"=&gt;0,<br \/>\n\"id\"=&gt;XXXXX00,<br \/>\n\"modifyDate\"=&gt;nil,<br \/>\n\"mountMode\"=&gt;\"RW\",<br \/>\n\"mountType\"=&gt;\"Disk\",<br \/>\n\"statusId\"=&gt;1,<br \/>\n\"uuid\"=&gt;\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"},<br \/>\n{\"bootableFlag\"=&gt;0,<br \/>\n\"createDate\"=&gt;\"2014-04-30T13:02:08+09:00\",<br \/>\n\"device\"=&gt;\"1\",<br \/>\n\"diskImageId\"=&gt;XXXXX12,<br \/>\n\"guestId\"=&gt;XXXXX14,<br \/>\n\"hotPlugFlag\"=&gt;0,<br \/>\n\"id\"=&gt;XXXXX88,<br \/>\n\"modifyDate\"=&gt;nil,<br \/>\n\"mountMode\"=&gt;\"RW\",<br \/>\n\"mountType\"=&gt;\"Disk\",<br \/>\n\"statusId\"=&gt;1,<br \/>\n\"uuid\"=&gt;\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"}],<br \/>\n\"datacenter\"=&gt;{\"id\"=&gt;168642, \"longName\"=&gt;\"San Jose 1\", \"name\"=&gt;\"sjc01\"},<br \/>\n\"globalIdentifier\"=&gt;\"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\",<br \/>\n\"hourlyBillingFlag\"=&gt;true,<br \/>\n\"networkComponents\"=&gt;<br \/>\n[{\"id\"=&gt;XXXXX28,<br \/>\n\"macAddress\"=&gt;\"XX:XX:XX:XX:XX:f5\",<br \/>\n\"maxSpeed\"=&gt;10,<br \/>\n\"name\"=&gt;\"eth\",<br \/>\n\"port\"=&gt;0,<br \/>\n\"speed\"=&gt;10,<br \/>\n\"status\"=&gt;\"ACTIVE\",<br \/>\n\"primaryIpAddress\"=&gt;\"10.XX.XX.2\",<br \/>\n\"primarySubnet\"=&gt;<br \/>\n{\"broadcastAddress\"=&gt;\"10.XX.XX.63\",<br \/>\n\"cidr\"=&gt;26,<br \/>\n\"gateway\"=&gt;\"10.XX.XX.1\",<br \/>\n\"id\"=&gt;XXXX06,<br \/>\n\"isCustomerOwned\"=&gt;false,<br \/>\n\"isCustomerRoutable\"=&gt;false,<br \/>\n\"modifyDate\"=&gt;\"2014-04-30T13:01:41+09:00\",<br \/>\n\"netmask\"=&gt;\"255.255.255.192\",<br \/>\n\"networkIdentifier\"=&gt;\"10.XX.XX.0\",<br \/>\n\"networkVlanId\"=&gt;XXXX52,<br \/>\n\"sortOrder\"=&gt;\"4\",<br \/>\n\"subnetType\"=&gt;\"PRIMARY\",<br \/>\n\"totalIpAddresses\"=&gt;64,<br \/>\n\"usableIpAddressCount\"=&gt;61,<br \/>\n\"version\"=&gt;4}},<br \/>\n{\"id\"=&gt;XXXXX26,<br \/>\n\"macAddress\"=&gt;\"XX:XX:XX:XX:XX:f2\",<br \/>\n\"maxSpeed\"=&gt;10,<br \/>\n\"name\"=&gt;\"eth\",<br \/>\n\"port\"=&gt;1,<br \/>\n\"speed\"=&gt;10,<br \/>\n\"status\"=&gt;\"ACTIVE\",<br \/>\n\"primaryIpAddress\"=&gt;\"50.XX.XX.194\",<br \/>\n\"primarySubnet\"=&gt;<br \/>\n{\"broadcastAddress\"=&gt;\"50.XX.XX.199\",<br \/>\n\"cidr\"=&gt;29,<br \/>\n\"gateway\"=&gt;\"50.XX.XX.193\",<br \/>\n\"id\"=&gt;XXXX06,<br \/>\n\"isCustomerOwned\"=&gt;false,<br \/>\n\"isCustomerRoutable\"=&gt;false,<br \/>\n\"modifyDate\"=&gt;\"2014-04-30T13:01:40+09:00\",<br \/>\n\"netmask\"=&gt;\"255.255.255.248\",<br \/>\n\"networkIdentifier\"=&gt;\"50.XX.XX.192\",<br \/>\n\"networkVlanId\"=&gt;XXXX50,<br \/>\n\"sortOrder\"=&gt;\"4\",<br \/>\n\"subnetType\"=&gt;\"PRIMARY\",<br \/>\n\"totalIpAddresses\"=&gt;8,<br \/>\n\"usableIpAddressCount\"=&gt;5,<br \/>\n\"version\"=&gt;4}}],<br \/>\n\"networkVlans\"=&gt;<br \/>\n[{\"id\"=&gt;XXXX50, \"vlanNumber\"=&gt;XX33, \"networkSpace\"=&gt;\"PUBLIC\"},<br \/>\n{\"id\"=&gt;XXXX52, \"vlanNumber\"=&gt;XX40, \"networkSpace\"=&gt;\"PRIVATE\"}],<br \/>\n\"operatingSystem\"=&gt;<br \/>\n{\"hardwareId\"=&gt;nil,<br \/>\n\"id\"=&gt;XXXXX16,<br \/>\n\"manufacturerLicenseInstance\"=&gt;\"\",<br \/>\n\"passwords\"=&gt;[{\"password\"=&gt;\"XXXXXXXX\", \"username\"=&gt;\"root\"}],<br \/>\n\"softwareLicense\"=&gt;<br \/>\n{\"id\"=&gt;1104,<br \/>\n\"softwareDescriptionId\"=&gt;1025,<br \/>\n\"softwareDescription\"=&gt;<br \/>\n{\"manufacturer\"=&gt;\"Ubuntu\",<br \/>\n\"name\"=&gt;\"Ubuntu\",<br \/>\n\"referenceCode\"=&gt;\"UBUNTU_12_64\",<br \/>\n\"version\"=&gt;\"12.04-64 Minimal for CCI\"}}},<br \/>\n\"powerState\"=&gt;{\"keyName\"=&gt;\"RUNNING\", \"name\"=&gt;\"Running\"},<br \/>\n\"primaryBackendIpAddress\"=&gt;\"10.XX.XX.2\",<br \/>\n\"primaryIpAddress\"=&gt;\"50.XX.XX.194\",<br \/>\n\"privateNetworkOnlyFlag\"=&gt;false,<br \/>\n\"provisionDate\"=&gt;\"2014-04-30T13:04:07+09:00\",<br \/>\n\"status\"=&gt;{\"keyName\"=&gt;\"ACTIVE\", \"name\"=&gt;\"Active\"},<br \/>\n\"tagReferences\"=&gt;[],<br \/>\n\"userData\"=&gt;[]}<br \/>\n<\/code><\/p>\n<h2>softlayer-api-ruby-client \u3067 Virtual Server \u3092\u7834\u68c4\u3059\u308b<\/h2>\n<p>\u6700\u5f8c\u306b\u4f5c\u6210\u3057\u305f\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092 softlayer-api-ruby-client \u3067\u7834\u68c4\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n<h3>\u30d7\u30ed\u30b0\u30e9\u30e0<\/h3>\n<p><code lang=\"ruby\"><br \/>\n#!\/usr\/bin\/ruby<\/code><\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>require 'softlayer_api'<br \/>\nrequire 'pp'<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# fill your SoftLayer API username and API key<br \/>\n#<br \/>\napi_username = ENV['SOFTLAYER_API_USERNAME'] || 'YOUR_SOFTLAYER_API_USERNAME'<br \/>\napi_key = ENV['SOFTLAYER_API_KEY'] || 'YOUR_SOFTLAYER_API_KEY'<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# Virtual Server id<br \/>\n#<br \/>\nid = ARGV.shift()<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest<br \/>\n#<br \/>\nvirtual_guest_service = SoftLayer::Service.new( 'SoftLayer_Virtual_Guest',<br \/>\n:username =&gt; api_username,<br \/>\n:api_key =&gt; api_key,<br \/>\n)<\/p>\n<p><code lang=\"ruby\"><code lang=\"ruby\"><\/code><\/code><\/p>\n<p>#<br \/>\n# http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\/deleteObject<br \/>\n#<br \/>\nresult = virtual_guest_service.<br \/>\nobject_with_id( id ).<br \/>\ndeleteObject<\/p>\n<p><code lang=\"ruby\"><br \/>\n<\/code><\/p>\n<p><code lang=\"ruby\">#<br \/>\n# result<br \/>\n#<br \/>\npp result<\/code><\/p>\n<h3>\u89e3\u8aac<\/h3>\n<p>\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u7834\u68c4\u306f\u4f5c\u6210\u3068\u95b2\u89a7\u540c\u69d8 <a href=\"http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\">SoftLayer_Virtual_Guest<\/a> API \u30b5\u30fc\u30d3\u30b9\u3092\u7528\u3044\u308b\u306e\u3067\u3001\u5192\u982d\u90e8\u5206\u306f\u7701\u7565\u3057\u307e\u3059\u3002<\/p>\n<p><a href=\"http:\/\/sldn.softlayer.com\/reference\/services\/SoftLayer_Virtual_Guest\/deleteObject\">SoftLayer_Virtual_Guest::deleteObject<\/a> \u3067\u7279\u5b9a\u306e\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u524a\u9664\u3059\u308b\u306b\u306f object_with_id \u3092\u7528\u3044\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\nresult = virtual_guest_service.<br \/>\nobject_with_id( id ).<br \/>\ndeleteObject<\/code><\/p>\n<p><code lang=\"ruby\"><br \/>\n<\/code><\/p>\n<p><code lang=\"ruby\">pp result<\/code><\/p>\n<p>\u6b21\u306e\u7d50\u679c\u304c\u5f97\u3089\u308c\u307e\u3059\u3002<\/p>\n<p><code lang=\"ruby\"><br \/>\ntrue<br \/>\n<\/code><\/p>\n<p>Web UI \u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u7834\u68c4\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u3067\u3059\u3002<\/p>\n<h2>\u307e\u3068\u3081<\/h2>\n<p>\u516c\u5f0f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u3042\u308b <a href=\"http:\/\/sldn.softlayer.com\/\">SoftLayer Development Network<\/a> \u306f\u5927\u5909\u5145\u5b9f\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u305d\u308c\u3086\u3048\u306b\u76ee\u7684\u306e\u3082\u306e\u3092\u63a2\u3057\u3065\u3089\u3044\u3068\u3044\u3046\u70b9\u304c\u3042\u308b\u3068\u601d\u3044\u307e\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u4eee\u60f3\u30b5\u30fc\u30d0\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u306b\u7d5e\u3063\u3066\u4e00\u4f8b\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u53c2\u8003\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>softlayer-api-ruby-client \u3068\u306f softlayer-api-ruby-client \u3068\u306f\u3001SoftLayer \u306e API \u547c\u3073\u51fa\u3057\u3092\u652f\u63f4\u3059\u308b Ruby \u30e9\u30a4\u30d6\u30e9\u30ea\u3067\u3059\u3002\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306f Ruby  [&#8230;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"categories":[31,819,38],"tags":[],"class_list":["post-4542","post","type-post","status-publish","format-standard","hentry","category-higuchi","category-ruby","category-softlayer"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3<\/title>\n<meta name=\"description\" content=\"d-higuchi, Ruby, softlayer |softlayer-api-ruby-client \u3068\u306f softlayer-api-ruby-client \u3068\u306f\u3001SoftLayer \u306e API\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"og:description\" content=\"d-higuchi, Ruby, softlayer |softlayer-api-ruby-client \u3068\u306f softlayer-api-ruby-client \u3068\u306f\u3001SoftLayer \u306e API\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542\" \/>\n<meta property=\"og:site_name\" content=\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/creationline\" \/>\n<meta property=\"article:published_time\" content=\"2014-05-01T02:00:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-08-29T03:48:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/01\/screenshot.png\" \/>\n\t<meta property=\"og:image:width\" content=\"470\" \/>\n\t<meta property=\"og:image:height\" content=\"394\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Daisuke Higuchi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@creationline\" \/>\n<meta name=\"twitter:site\" content=\"@creationline\" \/>\n<meta name=\"twitter:label1\" content=\"\u57f7\u7b46\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"Daisuke Higuchi\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"6\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\\\/4542#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\\\/4542\"},\"author\":{\"name\":\"Daisuke Higuchi\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\"},\"headline\":\"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer\",\"datePublished\":\"2014-05-01T02:00:24+00:00\",\"dateModified\":\"2023-08-29T03:48:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\\\/4542\"},\"wordCount\":564,\"articleSection\":[\"d-higuchi\",\"Ruby\",\"softlayer\"],\"inLanguage\":\"ja\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\\\/4542\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\\\/4542\",\"name\":\"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\"},\"datePublished\":\"2014-05-01T02:00:24+00:00\",\"dateModified\":\"2023-08-29T03:48:44+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\"},\"description\":\"d-higuchi, Ruby, softlayer |softlayer-api-ruby-client \u3068\u306f softlayer-api-ruby-client \u3068\u306f\u3001SoftLayer \u306e API\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\\\/4542#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\\\/4542\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\\\/4542#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"HOME\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u305d\u306e\u4ed6\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Ruby\",\"item\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/others\\\/ruby\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#website\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/\",\"name\":\"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3\",\"description\":\"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/#\\\/schema\\\/person\\\/16f1373831fb6fd17387f16ae1195206\",\"name\":\"Daisuke Higuchi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/d-higuchi-wp-icon-230x230.png\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/d-higuchi-wp-icon-230x230.png\",\"contentUrl\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/cms_x3GWkuX\\\/wp-content\\\/uploads\\\/2023\\\/08\\\/d-higuchi-wp-icon-230x230.png\",\"caption\":\"Daisuke Higuchi\"},\"description\":\"Chef\u30fbDocker\u30fbMirantis\u88fd\u54c1\u306a\u3069\u306e\u6280\u8853\u8981\u7d20\u306b\u52a0\u3048\u3066\u3001\u4f1a\u8b70\u306e\u9032\u3081\u65b9\u30fb\u6587\u7ae0\u306e\u66f8\u304d\u65b9\u306a\u3069\u306e\u696d\u52d9\u6539\u5584\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002\u300cChef\u6d3b\u7528\u30ac\u30a4\u30c9\u300d\u5171\u8457\u306e\u307b\u304b\u3001Debian Official Developer\u3082\u3084\u3063\u3066\u3044\u307e\u3059\u3002\",\"url\":\"https:\\\/\\\/www.creationline.com\\\/tech-blog\\\/author\\\/higuchi\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"d-higuchi, Ruby, softlayer |softlayer-api-ruby-client \u3068\u306f softlayer-api-ruby-client \u3068\u306f\u3001SoftLayer \u306e API","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542","og_locale":"ja_JP","og_type":"article","og_title":"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","og_description":"d-higuchi, Ruby, softlayer |softlayer-api-ruby-client \u3068\u306f softlayer-api-ruby-client \u3068\u306f\u3001SoftLayer \u306e API","og_url":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542","og_site_name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","article_publisher":"https:\/\/www.facebook.com\/creationline","article_published_time":"2014-05-01T02:00:24+00:00","article_modified_time":"2023-08-29T03:48:44+00:00","og_image":[{"width":470,"height":394,"url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2026\/01\/screenshot.png","type":"image\/png"}],"author":"Daisuke Higuchi","twitter_card":"summary_large_image","twitter_creator":"@creationline","twitter_site":"@creationline","twitter_misc":{"\u57f7\u7b46\u8005":"Daisuke Higuchi","\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"6\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542#article","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542"},"author":{"name":"Daisuke Higuchi","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206"},"headline":"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer","datePublished":"2014-05-01T02:00:24+00:00","dateModified":"2023-08-29T03:48:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542"},"wordCount":564,"articleSection":["d-higuchi","Ruby","softlayer"],"inLanguage":"ja"},{"@type":"WebPage","@id":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542","url":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542","name":"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer - Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","isPartOf":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#website"},"datePublished":"2014-05-01T02:00:24+00:00","dateModified":"2023-08-29T03:48:44+00:00","author":{"@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206"},"description":"d-higuchi, Ruby, softlayer |softlayer-api-ruby-client \u3068\u306f softlayer-api-ruby-client \u3068\u306f\u3001SoftLayer \u306e API","breadcrumb":{"@id":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby\/4542#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"HOME","item":"https:\/\/www.creationline.com\/tech-blog"},{"@type":"ListItem","position":2,"name":"\u305d\u306e\u4ed6","item":"https:\/\/www.creationline.com\/tech-blog\/others"},{"@type":"ListItem","position":3,"name":"Ruby","item":"https:\/\/www.creationline.com\/tech-blog\/others\/ruby"},{"@type":"ListItem","position":4,"name":"softlayer-api-ruby-client \u3067 Virtual Server \u3092\u4f5c\u6210\u30fb\u95b2\u89a7\u30fb\u7834\u68c4\u3059\u308b #softlayer"}]},{"@type":"WebSite","@id":"https:\/\/www.creationline.com\/tech-blog\/#website","url":"https:\/\/www.creationline.com\/tech-blog\/","name":"Tech Blog\uff5c\u30af\u30ea\u30a8\u30fc\u30b7\u30e7\u30f3\u30e9\u30a4\u30f3","description":"\u30a2\u30b8\u30e3\u30a4\u30eb\uff06DevOps\u3001\u30af\u30e9\u30a6\u30c9\u30cd\u30a4\u30c6\u30a3\u30d6\u3001AI\uff06LLM\u306e\u5148\u7aef\u6280\u8853","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.creationline.com\/tech-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":"Person","@id":"https:\/\/www.creationline.com\/tech-blog\/#\/schema\/person\/16f1373831fb6fd17387f16ae1195206","name":"Daisuke Higuchi","image":{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","url":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","contentUrl":"https:\/\/www.creationline.com\/tech-blog\/cms_x3GWkuX\/wp-content\/uploads\/2023\/08\/d-higuchi-wp-icon-230x230.png","caption":"Daisuke Higuchi"},"description":"Chef\u30fbDocker\u30fbMirantis\u88fd\u54c1\u306a\u3069\u306e\u6280\u8853\u8981\u7d20\u306b\u52a0\u3048\u3066\u3001\u4f1a\u8b70\u306e\u9032\u3081\u65b9\u30fb\u6587\u7ae0\u306e\u66f8\u304d\u65b9\u306a\u3069\u306e\u696d\u52d9\u6539\u5584\u306b\u3082\u53d6\u308a\u7d44\u3093\u3067\u3044\u307e\u3059\u3002\u300cChef\u6d3b\u7528\u30ac\u30a4\u30c9\u300d\u5171\u8457\u306e\u307b\u304b\u3001Debian Official Developer\u3082\u3084\u3063\u3066\u3044\u307e\u3059\u3002","url":"https:\/\/www.creationline.com\/tech-blog\/author\/higuchi"}]}},"_links":{"self":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/4542","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/comments?post=4542"}],"version-history":[{"count":1,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/4542\/revisions"}],"predecessor-version":[{"id":65742,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/posts\/4542\/revisions\/65742"}],"wp:attachment":[{"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/media?parent=4542"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/categories?post=4542"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creationline.com\/tech-blog\/wp-json\/wp\/v2\/tags?post=4542"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}