fog-sakuracloud 1.1.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/lib/fog/sakuracloud/compute.rb +1 -0
- data/lib/fog/sakuracloud/models/compute/servers.rb +6 -0
- data/lib/fog/sakuracloud/models/network/interface.rb +27 -0
- data/lib/fog/sakuracloud/models/network/interfaces.rb +37 -0
- data/lib/fog/sakuracloud/network.rb +6 -0
- data/lib/fog/sakuracloud/requests/network/connect_interface_to_switch.rb +31 -0
- data/lib/fog/sakuracloud/requests/network/delete_interface.rb +30 -0
- data/lib/fog/sakuracloud/requests/network/list_interfaces.rb +39 -0
- data/lib/fog/sakuracloud/requests/network/regist_interface_to_server.rb +40 -0
- data/lib/fog/sakuracloud/version.rb +1 -1
- metadata +8 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 2c091507bd4319e29aaec68ccec48639442edba9
         | 
| 4 | 
            +
              data.tar.gz: ef1f332eeed7a16ceb330d8eb9510b87d5ece2bb
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8edf9a260ef6f5990ade711a07478f3761e6cde29e9cde6a0353777f87627e9e74b994a2960c5de981ff40aaf7d22a9b7538cd30da030f15003dc2d3603ddf35
         | 
| 7 | 
            +
              data.tar.gz: 10dcd3507057780c9959c70e5b4b250f510e3cbad3ce1f684bb7b4c17ae50fb0a1231ab3d3ec59c16c023e88679f2e8a398aaf0757369ce29e66a081dfc4f420
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    
| @@ -0,0 +1,27 @@ | |
| 1 | 
            +
            require 'fog/core/model'
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Fog
         | 
| 4 | 
            +
              module Network
         | 
| 5 | 
            +
                class SakuraCloud
         | 
| 6 | 
            +
                  class Interface < Fog::Model
         | 
| 7 | 
            +
                    identity :id, :aliases => 'ID'
         | 
| 8 | 
            +
                    attribute :macaddress, :aliases => 'MACAddress'
         | 
| 9 | 
            +
                    attribute :ipaddress, :aliases => 'IPAddress'
         | 
| 10 | 
            +
                    attribute :user_ipaddress, :aliases => 'UserIPAddress'
         | 
| 11 | 
            +
                    attribute :switch, :aliases => 'Switch'
         | 
| 12 | 
            +
                    attribute :server, :aliases => 'Server'
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    def delete
         | 
| 15 | 
            +
                      service.delete_interface(identity)
         | 
| 16 | 
            +
                      true
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                    alias_method :destroy, :delete
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                    def connect_to_switch(switch_id)
         | 
| 21 | 
            +
                      service.connect_interface_to_switch(identity, switch_id)
         | 
| 22 | 
            +
                      true
         | 
| 23 | 
            +
                    end
         | 
| 24 | 
            +
                  end
         | 
| 25 | 
            +
                end
         | 
| 26 | 
            +
              end
         | 
| 27 | 
            +
            end
         | 
| @@ -0,0 +1,37 @@ | |
| 1 | 
            +
            require 'fog/core/collection'
         | 
| 2 | 
            +
            require 'fog/sakuracloud/models/network/interface'
         | 
| 3 | 
            +
             | 
| 4 | 
            +
            module Fog
         | 
| 5 | 
            +
              module Network
         | 
| 6 | 
            +
                class SakuraCloud
         | 
| 7 | 
            +
                  class Interfaces < Fog::Collection
         | 
| 8 | 
            +
                    model Fog::Network::SakuraCloud::Interface
         | 
| 9 | 
            +
             | 
| 10 | 
            +
                    def all
         | 
| 11 | 
            +
                      load service.list_interfaces.body['Interfaces']
         | 
| 12 | 
            +
                    end
         | 
| 13 | 
            +
             | 
| 14 | 
            +
                    def get(id)
         | 
| 15 | 
            +
                      all.find { |f| f.id == id }
         | 
| 16 | 
            +
                    rescue Fog::Errors::NotFound
         | 
| 17 | 
            +
                      nil
         | 
| 18 | 
            +
                    end
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                    def regist_onto_server(server_id)
         | 
| 21 | 
            +
                      id = service.regist_interface_to_server(server_id)
         | 
| 22 | 
            +
                      get(id)
         | 
| 23 | 
            +
                    end
         | 
| 24 | 
            +
             | 
| 25 | 
            +
                    def connect_to_switch(id, switch_id)
         | 
| 26 | 
            +
                      id = service.connect_interface_to_switch(id, switch_id)
         | 
| 27 | 
            +
                      get(id)
         | 
| 28 | 
            +
                    end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                    def delete(id)
         | 
| 31 | 
            +
                      service.delete_interface(id)
         | 
| 32 | 
            +
                      true
         | 
| 33 | 
            +
                    end
         | 
| 34 | 
            +
                  end
         | 
| 35 | 
            +
                end
         | 
| 36 | 
            +
              end
         | 
| 37 | 
            +
            end
         | 
| @@ -11,6 +11,8 @@ module Fog | |
| 11 11 | 
             
                  collection :routers
         | 
| 12 12 | 
             
                  model      :switch
         | 
| 13 13 | 
             
                  collection :switches
         | 
| 14 | 
            +
                  model      :interface
         | 
| 15 | 
            +
                  collection :interfaces
         | 
| 14 16 |  | 
| 15 17 | 
             
                  request_path 'fog/sakuracloud/requests/network'
         | 
| 16 18 | 
             
                  request      :list_routers
         | 
| @@ -19,6 +21,10 @@ module Fog | |
| 19 21 | 
             
                  request      :list_switches
         | 
| 20 22 | 
             
                  request      :create_switch
         | 
| 21 23 | 
             
                  request      :delete_switch
         | 
| 24 | 
            +
                  request      :list_interfaces
         | 
| 25 | 
            +
                  request      :regist_interface_to_server
         | 
| 26 | 
            +
                  request      :connect_interface_to_switch
         | 
| 27 | 
            +
                  request      :delete_interface
         | 
| 22 28 |  | 
| 23 29 | 
             
                  class Real
         | 
| 24 30 | 
             
                    def initialize(options = {})
         | 
| @@ -0,0 +1,31 @@ | |
| 1 | 
            +
            # coding: utf-8
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Fog
         | 
| 4 | 
            +
              module Network
         | 
| 5 | 
            +
                class SakuraCloud
         | 
| 6 | 
            +
                  class Real
         | 
| 7 | 
            +
                    def connect_interface_to_switch( id, switch_id )
         | 
| 8 | 
            +
                      response = request(
         | 
| 9 | 
            +
                        :headers => {
         | 
| 10 | 
            +
                          'Authorization' => "Basic #{@auth_encord}"
         | 
| 11 | 
            +
                        },
         | 
| 12 | 
            +
                        :expects  => [200],
         | 
| 13 | 
            +
                        :method => 'PUT',
         | 
| 14 | 
            +
                        :path => "#{Fog::SakuraCloud::SAKURACLOUD_API_ENDPOINT}/interface/#{id}/to/switch/#{switch_id}"
         | 
| 15 | 
            +
                      )
         | 
| 16 | 
            +
                      response.body['Interface']['ID']
         | 
| 17 | 
            +
                    end
         | 
| 18 | 
            +
                  end # Real
         | 
| 19 | 
            +
             | 
| 20 | 
            +
                  class Mock
         | 
| 21 | 
            +
                    def regist_interface_to_server( id, switch_id )
         | 
| 22 | 
            +
                      response = Excon::Response.new
         | 
| 23 | 
            +
                      response.status = 20
         | 
| 24 | 
            +
                      response.body = {
         | 
| 25 | 
            +
                      }
         | 
| 26 | 
            +
                      response
         | 
| 27 | 
            +
                    end
         | 
| 28 | 
            +
                  end
         | 
| 29 | 
            +
                end # SakuraCloud
         | 
| 30 | 
            +
              end # Network0
         | 
| 31 | 
            +
            end # Fog
         | 
| @@ -0,0 +1,30 @@ | |
| 1 | 
            +
            # coding: utf-8
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Fog
         | 
| 4 | 
            +
              module Network
         | 
| 5 | 
            +
                class SakuraCloud
         | 
| 6 | 
            +
                  class Real
         | 
| 7 | 
            +
                    def delete_interface( id )
         | 
| 8 | 
            +
                      request(
         | 
| 9 | 
            +
                        :headers => {
         | 
| 10 | 
            +
                          'Authorization' => "Basic #{@auth_encord}"
         | 
| 11 | 
            +
                        },
         | 
| 12 | 
            +
                        :expects  => [200],
         | 
| 13 | 
            +
                        :method => 'DELETE',
         | 
| 14 | 
            +
                        :path => "#{Fog::SakuraCloud::SAKURACLOUD_API_ENDPOINT}/interface/#{id}"
         | 
| 15 | 
            +
                      )
         | 
| 16 | 
            +
                    end
         | 
| 17 | 
            +
                  end # Real
         | 
| 18 | 
            +
             | 
| 19 | 
            +
                  class Mock
         | 
| 20 | 
            +
                    def delete_interface( id )
         | 
| 21 | 
            +
                      response = Excon::Response.new
         | 
| 22 | 
            +
                      response.status = 200
         | 
| 23 | 
            +
                      response.body = {
         | 
| 24 | 
            +
                      }
         | 
| 25 | 
            +
                      response
         | 
| 26 | 
            +
                    end
         | 
| 27 | 
            +
                  end
         | 
| 28 | 
            +
                end # SakuraCloud
         | 
| 29 | 
            +
              end # Network
         | 
| 30 | 
            +
            end # Fog
         | 
| @@ -0,0 +1,39 @@ | |
| 1 | 
            +
            # coding: utf-8
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Fog
         | 
| 4 | 
            +
              module Network
         | 
| 5 | 
            +
                class SakuraCloud
         | 
| 6 | 
            +
                  class Real
         | 
| 7 | 
            +
                    def list_interfaces(options = {})
         | 
| 8 | 
            +
                      filter = {
         | 
| 9 | 
            +
                        "Include" => [
         | 
| 10 | 
            +
                          "ID",
         | 
| 11 | 
            +
                          "MACAddress",
         | 
| 12 | 
            +
                          "IPAddress",
         | 
| 13 | 
            +
                          "UserIPAddress",
         | 
| 14 | 
            +
                          "Switch.ID",
         | 
| 15 | 
            +
                          "Server.ID"]
         | 
| 16 | 
            +
                      }
         | 
| 17 | 
            +
                      request(
         | 
| 18 | 
            +
                        :headers => {
         | 
| 19 | 
            +
                          'Authorization' => "Basic #{@auth_encord}"
         | 
| 20 | 
            +
                        },
         | 
| 21 | 
            +
                        :method => 'GET',
         | 
| 22 | 
            +
                        :path => "#{Fog::SakuraCloud::SAKURACLOUD_API_ENDPOINT}/interface",
         | 
| 23 | 
            +
                        :query => URI.encode(Fog::JSON.encode(filter))
         | 
| 24 | 
            +
                      )
         | 
| 25 | 
            +
                    end
         | 
| 26 | 
            +
                  end
         | 
| 27 | 
            +
             | 
| 28 | 
            +
                  class Mock
         | 
| 29 | 
            +
                    def list_interfaces(options = {})
         | 
| 30 | 
            +
                      response = Excon::Response.new
         | 
| 31 | 
            +
                      response.status = 200
         | 
| 32 | 
            +
                      response.body = {
         | 
| 33 | 
            +
                      }
         | 
| 34 | 
            +
                      response
         | 
| 35 | 
            +
                    end
         | 
| 36 | 
            +
                  end
         | 
| 37 | 
            +
                end
         | 
| 38 | 
            +
              end
         | 
| 39 | 
            +
            end
         | 
| @@ -0,0 +1,40 @@ | |
| 1 | 
            +
            # coding: utf-8
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            module Fog
         | 
| 4 | 
            +
              module Network
         | 
| 5 | 
            +
                class SakuraCloud
         | 
| 6 | 
            +
                  class Real
         | 
| 7 | 
            +
                    def regist_interface_to_server( server_id )
         | 
| 8 | 
            +
                      body = {
         | 
| 9 | 
            +
                        "Interface" => {
         | 
| 10 | 
            +
                          "Server" => {
         | 
| 11 | 
            +
                            "ID" => server_id
         | 
| 12 | 
            +
                          }
         | 
| 13 | 
            +
                        }
         | 
| 14 | 
            +
                      }
         | 
| 15 | 
            +
             | 
| 16 | 
            +
                      response = request(
         | 
| 17 | 
            +
                        :headers => {
         | 
| 18 | 
            +
                          'Authorization' => "Basic #{@auth_encord}"
         | 
| 19 | 
            +
                        },
         | 
| 20 | 
            +
                        :expects  => [201],
         | 
| 21 | 
            +
                        :method => 'POST',
         | 
| 22 | 
            +
                        :path => "#{Fog::SakuraCloud::SAKURACLOUD_API_ENDPOINT}/interface",
         | 
| 23 | 
            +
                        :body => Fog::JSON.encode(body)
         | 
| 24 | 
            +
                      )
         | 
| 25 | 
            +
                      response.body['Interface']['ID']
         | 
| 26 | 
            +
                    end
         | 
| 27 | 
            +
                  end # Real
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                  class Mock
         | 
| 30 | 
            +
                    def regist_interface_to_server( id )
         | 
| 31 | 
            +
                      response = Excon::Response.new
         | 
| 32 | 
            +
                      response.status = 201
         | 
| 33 | 
            +
                      response.body = {
         | 
| 34 | 
            +
                      }
         | 
| 35 | 
            +
                      response
         | 
| 36 | 
            +
                    end
         | 
| 37 | 
            +
                  end
         | 
| 38 | 
            +
                end # SakuraCloud
         | 
| 39 | 
            +
              end # Network
         | 
| 40 | 
            +
            end # Fog
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fog-sakuracloud
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 1. | 
| 4 | 
            +
              version: 1.2.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - sawanoboly
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2015-09- | 
| 11 | 
            +
            date: 2015-09-20 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: fog-core
         | 
| @@ -221,6 +221,8 @@ files: | |
| 221 221 | 
             
            - lib/fog/sakuracloud/models/compute/ssh_keys.rb
         | 
| 222 222 | 
             
            - lib/fog/sakuracloud/models/compute/zone.rb
         | 
| 223 223 | 
             
            - lib/fog/sakuracloud/models/compute/zones.rb
         | 
| 224 | 
            +
            - lib/fog/sakuracloud/models/network/interface.rb
         | 
| 225 | 
            +
            - lib/fog/sakuracloud/models/network/interfaces.rb
         | 
| 224 226 | 
             
            - lib/fog/sakuracloud/models/network/router.rb
         | 
| 225 227 | 
             
            - lib/fog/sakuracloud/models/network/routers.rb
         | 
| 226 228 | 
             
            - lib/fog/sakuracloud/models/network/switch.rb
         | 
| @@ -242,12 +244,16 @@ files: | |
| 242 244 | 
             
            - lib/fog/sakuracloud/requests/compute/list_ssh_keys.rb
         | 
| 243 245 | 
             
            - lib/fog/sakuracloud/requests/compute/list_zones.rb
         | 
| 244 246 | 
             
            - lib/fog/sakuracloud/requests/compute/stop_server.rb
         | 
| 247 | 
            +
            - lib/fog/sakuracloud/requests/network/connect_interface_to_switch.rb
         | 
| 245 248 | 
             
            - lib/fog/sakuracloud/requests/network/create_router.rb
         | 
| 246 249 | 
             
            - lib/fog/sakuracloud/requests/network/create_switch.rb
         | 
| 250 | 
            +
            - lib/fog/sakuracloud/requests/network/delete_interface.rb
         | 
| 247 251 | 
             
            - lib/fog/sakuracloud/requests/network/delete_router.rb
         | 
| 248 252 | 
             
            - lib/fog/sakuracloud/requests/network/delete_switch.rb
         | 
| 253 | 
            +
            - lib/fog/sakuracloud/requests/network/list_interfaces.rb
         | 
| 249 254 | 
             
            - lib/fog/sakuracloud/requests/network/list_routers.rb
         | 
| 250 255 | 
             
            - lib/fog/sakuracloud/requests/network/list_switches.rb
         | 
| 256 | 
            +
            - lib/fog/sakuracloud/requests/network/regist_interface_to_server.rb
         | 
| 251 257 | 
             
            - lib/fog/sakuracloud/requests/script/create_note.rb
         | 
| 252 258 | 
             
            - lib/fog/sakuracloud/requests/script/delete_note.rb
         | 
| 253 259 | 
             
            - lib/fog/sakuracloud/requests/script/list_notes.rb
         |