knife-google 4.2.6 → 5.0.2
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/lib/chef/knife/cloud/google_service.rb +4 -0
- data/lib/chef/knife/cloud/google_service_helpers.rb +8 -8
- data/lib/chef/knife/google_disk_create.rb +7 -6
- data/lib/chef/knife/google_disk_delete.rb +2 -1
- data/lib/chef/knife/google_disk_list.rb +2 -1
- data/lib/chef/knife/google_image_list.rb +2 -1
- data/lib/chef/knife/google_project_quotas.rb +2 -1
- data/lib/chef/knife/google_region_list.rb +2 -1
- data/lib/chef/knife/google_region_quotas.rb +2 -1
- data/lib/chef/knife/google_server_create.rb +38 -40
- data/lib/chef/knife/google_server_delete.rb +2 -1
- data/lib/chef/knife/google_server_list.rb +2 -1
- data/lib/chef/knife/google_server_show.rb +2 -1
- data/lib/chef/knife/google_zone_list.rb +2 -1
- data/lib/knife-google/version.rb +1 -1
- metadata +21 -7
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: f84e87e7003515b486193242d5518df11a8af14e1c087b5385917a2612fa571c
         | 
| 4 | 
            +
              data.tar.gz: 2e0275e7f3fd9897aa60028dc8f9ba0235a3ce55e4a41446c0ed5be5b077f9b3
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 5b93f9bdb33276374d0ab611520dffb8cc95cb0b53e21c35e18b6c18eb9047f92e62f774c1d95f53b607fe5d4c0af507c210ba99baf4c3068b4d04509c72be1d
         | 
| 7 | 
            +
              data.tar.gz: 122e48ff1592b4ac750df5296fad2eba886804970dce7ceb15541885a4851627def159e0b393c0110d802b3b2dd891b30e4c1086201a1c29c064540750762b61
         | 
| @@ -74,6 +74,10 @@ class Chef::Knife::Cloud | |
| 74 74 | 
             
                  "ubuntu-15-10" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1510-wily" },
         | 
| 75 75 | 
             
                  "ubuntu-16-04" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1604-xenial" },
         | 
| 76 76 | 
             
                  "ubuntu-1604-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1604-xenial" },
         | 
| 77 | 
            +
                  "ubuntu-1804-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-1804-bionic" },
         | 
| 78 | 
            +
                  "ubuntu-2004-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-2004-focal" },
         | 
| 79 | 
            +
                  "ubuntu-minimal-1604-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-minimal-1604-xenial" },
         | 
| 80 | 
            +
                  "ubuntu-minimal-1804-lts" => { project: "ubuntu-os-cloud", prefix: "ubuntu-minimal-1804-bionic" },
         | 
| 77 81 | 
             
                  "windows-2008-r2" => { project: "windows-cloud", prefix: "windows-server-2008-r2" },
         | 
| 78 82 | 
             
                  "windows-2012-r2" => { project: "windows-cloud", prefix: "windows-server-2012-r2" },
         | 
| 79 83 | 
             
                }.freeze
         | 
| @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            # frozen_string_literal: true
         | 
| 2 2 | 
             
            #
         | 
| 3 3 | 
             
            # Author:: Chef Partner Engineering (<partnereng@chef.io>)
         | 
| 4 | 
            -
            # Copyright:: Copyright (c)  | 
| 4 | 
            +
            # Copyright:: Copyright (c) Chef Software Inc.
         | 
| 5 5 | 
             
            # License:: Apache License, Version 2.0
         | 
| 6 6 | 
             
            #
         | 
| 7 7 | 
             
            # Licensed under the Apache License, Version 2.0 (the "License");
         | 
| @@ -23,19 +23,19 @@ class Chef::Knife::Cloud | |
| 23 23 |  | 
| 24 24 | 
             
                def create_service_instance
         | 
| 25 25 | 
             
                  Chef::Knife::Cloud::GoogleService.new(
         | 
| 26 | 
            -
                    project:        | 
| 27 | 
            -
                    zone:           | 
| 28 | 
            -
                    wait_time:      | 
| 29 | 
            -
                    refresh_rate:   | 
| 30 | 
            -
                    max_pages:      | 
| 31 | 
            -
                    max_page_size:  | 
| 26 | 
            +
                    project:       config[:gce_project],
         | 
| 27 | 
            +
                    zone:          config[:gce_zone],
         | 
| 28 | 
            +
                    wait_time:     config[:request_timeout],
         | 
| 29 | 
            +
                    refresh_rate:  config[:request_refresh_rate],
         | 
| 30 | 
            +
                    max_pages:     config[:gce_max_pages],
         | 
| 31 | 
            +
                    max_page_size: config[:gce_max_page_size]
         | 
| 32 32 | 
             
                  )
         | 
| 33 33 | 
             
                end
         | 
| 34 34 |  | 
| 35 35 | 
             
                def check_for_missing_config_values!(*keys)
         | 
| 36 36 | 
             
                  keys_to_check = REQUIRED_KEYS + keys
         | 
| 37 37 |  | 
| 38 | 
            -
                  missing = keys_to_check.select { |x|  | 
| 38 | 
            +
                  missing = keys_to_check.select { |x| config[x].nil? }
         | 
| 39 39 |  | 
| 40 40 | 
             
                  unless missing.empty?
         | 
| 41 41 | 
             
                    message = "The following required parameters are missing: #{missing.join(", ")}"
         | 
| @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            #
         | 
| 3 3 | 
             
            # Author:: Paul Rossman (<paulrossman@google.com>)
         | 
| 4 4 | 
             
            # Author:: Chef Partner Engineering (<partnereng@chef.io>)
         | 
| 5 | 
            -
            # Copyright:: Copyright  | 
| 5 | 
            +
            # Copyright:: Copyright (c) Chef Software Inc.
         | 
| 6 6 | 
             
            # License:: Apache License, Version 2.0
         | 
| 7 7 | 
             
            #
         | 
| 8 8 | 
             
            # Licensed under the Apache License, Version 2.0 (the "License");
         | 
| @@ -23,13 +23,14 @@ require_relative "cloud/google_service_options" | |
| 23 23 |  | 
| 24 24 | 
             
            class Chef::Knife::Cloud
         | 
| 25 25 | 
             
              class GoogleDiskCreate < Command
         | 
| 26 | 
            -
                include GoogleServiceHelpers
         | 
| 27 26 | 
             
                include GoogleServiceOptions
         | 
| 28 27 |  | 
| 29 28 | 
             
                banner "knife google disk create NAME --gce-disk-size N (options)"
         | 
| 30 29 |  | 
| 31 30 | 
             
                deps do
         | 
| 32 31 | 
             
                  require_relative "cloud/google_service"
         | 
| 32 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 33 | 
            +
                  include GoogleServiceHelpers
         | 
| 33 34 | 
             
                end
         | 
| 34 35 |  | 
| 35 36 | 
             
                option :disk_size,
         | 
| @@ -51,16 +52,16 @@ class Chef::Knife::Cloud | |
| 51 52 | 
             
                def validate_params!
         | 
| 52 53 | 
             
                  check_for_missing_config_values!(:gce_zone, :disk_size, :disk_type)
         | 
| 53 54 | 
             
                  raise "Please specify a disk name." unless @name_args.first
         | 
| 54 | 
            -
                  raise "Disk size must be between 10 and 10,000" unless valid_disk_size?( | 
| 55 | 
            +
                  raise "Disk size must be between 10 and 10,000" unless valid_disk_size?(config[:disk_size])
         | 
| 55 56 |  | 
| 56 57 | 
             
                  super
         | 
| 57 58 | 
             
                end
         | 
| 58 59 |  | 
| 59 60 | 
             
                def execute_command
         | 
| 60 61 | 
             
                  name = @name_args.first
         | 
| 61 | 
            -
                  size =  | 
| 62 | 
            -
                  type =  | 
| 63 | 
            -
                  src  =  | 
| 62 | 
            +
                  size = config[:disk_size]
         | 
| 63 | 
            +
                  type = config[:disk_type]
         | 
| 64 | 
            +
                  src  = config[:disk_source]
         | 
| 64 65 |  | 
| 65 66 | 
             
                  service.create_disk(name, size, type, src)
         | 
| 66 67 | 
             
                end
         | 
| @@ -23,13 +23,14 @@ require_relative "cloud/google_service_options" | |
| 23 23 |  | 
| 24 24 | 
             
            class Chef::Knife::Cloud
         | 
| 25 25 | 
             
              class GoogleDiskDelete < Command
         | 
| 26 | 
            -
                include GoogleServiceHelpers
         | 
| 27 26 | 
             
                include GoogleServiceOptions
         | 
| 28 27 |  | 
| 29 28 | 
             
                banner "knife google disk delete NAME [NAME] (options)"
         | 
| 30 29 |  | 
| 31 30 | 
             
                deps do
         | 
| 32 31 | 
             
                  require_relative "cloud/google_service"
         | 
| 32 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 33 | 
            +
                  include GoogleServiceHelpers
         | 
| 33 34 | 
             
                end
         | 
| 34 35 |  | 
| 35 36 | 
             
                def validate_params!
         | 
| @@ -23,13 +23,14 @@ require_relative "cloud/google_service_options" | |
| 23 23 |  | 
| 24 24 | 
             
            class Chef::Knife::Cloud
         | 
| 25 25 | 
             
              class GoogleDiskList < ResourceListCommand
         | 
| 26 | 
            -
                include GoogleServiceHelpers
         | 
| 27 26 | 
             
                include GoogleServiceOptions
         | 
| 28 27 |  | 
| 29 28 | 
             
                banner "knife google disk list"
         | 
| 30 29 |  | 
| 31 30 | 
             
                deps do
         | 
| 32 31 | 
             
                  require_relative "cloud/google_service"
         | 
| 32 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 33 | 
            +
                  include GoogleServiceHelpers
         | 
| 33 34 | 
             
                end
         | 
| 34 35 |  | 
| 35 36 | 
             
                def validate_params!
         | 
| @@ -22,13 +22,14 @@ require_relative "cloud/google_service_options" | |
| 22 22 |  | 
| 23 23 | 
             
            class Chef::Knife::Cloud
         | 
| 24 24 | 
             
              class GoogleImageList < ResourceListCommand
         | 
| 25 | 
            -
                include GoogleServiceHelpers
         | 
| 26 25 | 
             
                include GoogleServiceOptions
         | 
| 27 26 |  | 
| 28 27 | 
             
                banner "knife google image list"
         | 
| 29 28 |  | 
| 30 29 | 
             
                deps do
         | 
| 31 30 | 
             
                  require_relative "cloud/google_service"
         | 
| 31 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 32 | 
            +
                  include GoogleServiceHelpers
         | 
| 32 33 | 
             
                end
         | 
| 33 34 |  | 
| 34 35 | 
             
                def validate_params!
         | 
| @@ -23,13 +23,14 @@ require_relative "cloud/google_service_options" | |
| 23 23 |  | 
| 24 24 | 
             
            class Chef::Knife::Cloud
         | 
| 25 25 | 
             
              class GoogleProjectQuotas < ResourceListCommand
         | 
| 26 | 
            -
                include GoogleServiceHelpers
         | 
| 27 26 | 
             
                include GoogleServiceOptions
         | 
| 28 27 |  | 
| 29 28 | 
             
                banner "knife google project quotas"
         | 
| 30 29 |  | 
| 31 30 | 
             
                deps do
         | 
| 32 31 | 
             
                  require_relative "cloud/google_service"
         | 
| 32 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 33 | 
            +
                  include GoogleServiceHelpers
         | 
| 33 34 | 
             
                end
         | 
| 34 35 |  | 
| 35 36 | 
             
                def validate_params!
         | 
| @@ -23,13 +23,14 @@ require_relative "cloud/google_service_options" | |
| 23 23 |  | 
| 24 24 | 
             
            class Chef::Knife::Cloud
         | 
| 25 25 | 
             
              class GoogleRegionList < ResourceListCommand
         | 
| 26 | 
            -
                include GoogleServiceHelpers
         | 
| 27 26 | 
             
                include GoogleServiceOptions
         | 
| 28 27 |  | 
| 29 28 | 
             
                banner "knife google region list"
         | 
| 30 29 |  | 
| 31 30 | 
             
                deps do
         | 
| 32 31 | 
             
                  require_relative "cloud/google_service"
         | 
| 32 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 33 | 
            +
                  include GoogleServiceHelpers
         | 
| 33 34 | 
             
                end
         | 
| 34 35 |  | 
| 35 36 | 
             
                def validate_params!
         | 
| @@ -23,13 +23,14 @@ require_relative "cloud/google_service_options" | |
| 23 23 |  | 
| 24 24 | 
             
            class Chef::Knife::Cloud
         | 
| 25 25 | 
             
              class GoogleRegionQuotas < Command
         | 
| 26 | 
            -
                include GoogleServiceHelpers
         | 
| 27 26 | 
             
                include GoogleServiceOptions
         | 
| 28 27 |  | 
| 29 28 | 
             
                banner "knife google region quotas"
         | 
| 30 29 |  | 
| 31 30 | 
             
                deps do
         | 
| 32 31 | 
             
                  require_relative "cloud/google_service"
         | 
| 32 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 33 | 
            +
                  include GoogleServiceHelpers
         | 
| 33 34 | 
             
                end
         | 
| 34 35 |  | 
| 35 36 | 
             
                def validate_params!
         | 
| @@ -2,7 +2,7 @@ | |
| 2 2 | 
             
            #
         | 
| 3 3 | 
             
            # Author:: Paul Rossman (<paulrossman@google.com>)
         | 
| 4 4 | 
             
            # Author:: Chef Partner Engineering (<partnereng@chef.io>)
         | 
| 5 | 
            -
            # Copyright:: Copyright  | 
| 5 | 
            +
            # Copyright:: Copyright (c) Chef Software Inc.
         | 
| 6 6 | 
             
            # License:: Apache License, Version 2.0
         | 
| 7 7 | 
             
            #
         | 
| 8 8 | 
             
            # Licensed under the Apache License, Version 2.0 (the "License");
         | 
| @@ -25,13 +25,15 @@ require_relative "cloud/google_service_options" | |
| 25 25 | 
             
            class Chef::Knife::Cloud
         | 
| 26 26 | 
             
              class GoogleServerCreate < ServerCreateCommand
         | 
| 27 27 | 
             
                include GoogleServiceOptions
         | 
| 28 | 
            -
                include GoogleServiceHelpers
         | 
| 29 28 | 
             
                include ServerCreateOptions
         | 
| 30 29 |  | 
| 31 30 | 
             
                banner "knife google server create NAME -m MACHINE_TYPE -I IMAGE (options)"
         | 
| 32 31 |  | 
| 33 32 | 
             
                deps do
         | 
| 33 | 
            +
                  require "gcewinpass"
         | 
| 34 34 | 
             
                  require_relative "cloud/google_service"
         | 
| 35 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 36 | 
            +
                  include GoogleServiceHelpers
         | 
| 35 37 | 
             
                end
         | 
| 36 38 |  | 
| 37 39 | 
             
                option :machine_type,
         | 
| @@ -165,37 +167,33 @@ class Chef::Knife::Cloud | |
| 165 167 | 
             
                  description: "Specifies the number of local SSDs to be created per node. Each local SSD is 375 GB in size, but you can attach up to eight local SSD devices for 3 TB of total local SSD storage space per instance.",
         | 
| 166 168 | 
             
                  default: "1"
         | 
| 167 169 |  | 
| 168 | 
            -
                deps do
         | 
| 169 | 
            -
                  require "gcewinpass"
         | 
| 170 | 
            -
                end
         | 
| 171 | 
            -
             | 
| 172 170 | 
             
                def before_exec_command
         | 
| 173 171 | 
             
                  super
         | 
| 174 172 |  | 
| 175 173 | 
             
                  @create_options = {
         | 
| 176 174 | 
             
                    name: instance_name,
         | 
| 177 | 
            -
                    image:  | 
| 178 | 
            -
                    image_project:  | 
| 179 | 
            -
                    network:  | 
| 180 | 
            -
                    subnet:  | 
| 181 | 
            -
                    public_ip:  | 
| 175 | 
            +
                    image: config[:image],
         | 
| 176 | 
            +
                    image_project: config[:image_project],
         | 
| 177 | 
            +
                    network: config[:network],
         | 
| 178 | 
            +
                    subnet: config[:subnet],
         | 
| 179 | 
            +
                    public_ip: config[:public_ip],
         | 
| 182 180 | 
             
                    auto_migrate: auto_migrate?,
         | 
| 183 181 | 
             
                    auto_restart: auto_restart?,
         | 
| 184 182 | 
             
                    preemptible: preemptible?,
         | 
| 185 | 
            -
                    boot_disk_autodelete:  | 
| 186 | 
            -
                    boot_disk_name:  | 
| 183 | 
            +
                    boot_disk_autodelete: config[:boot_disk_autodelete],
         | 
| 184 | 
            +
                    boot_disk_name: config[:boot_disk_name],
         | 
| 187 185 | 
             
                    boot_disk_size: boot_disk_size,
         | 
| 188 | 
            -
                    boot_disk_ssd:  | 
| 189 | 
            -
                    additional_disks:  | 
| 190 | 
            -
                    local_ssd:  | 
| 191 | 
            -
                    interface:  | 
| 186 | 
            +
                    boot_disk_ssd: config[:boot_disk_ssd],
         | 
| 187 | 
            +
                    additional_disks: config[:additional_disks],
         | 
| 188 | 
            +
                    local_ssd: config[:local_ssd],
         | 
| 189 | 
            +
                    interface: config[:interface],
         | 
| 192 190 | 
             
                    number_of_local_ssd: number_of_local_ssd,
         | 
| 193 | 
            -
                    can_ip_forward:  | 
| 194 | 
            -
                    machine_type:  | 
| 195 | 
            -
                    service_account_scopes:  | 
| 196 | 
            -
                    service_account_name:  | 
| 191 | 
            +
                    can_ip_forward: config[:can_ip_forward],
         | 
| 192 | 
            +
                    machine_type: config[:machine_type],
         | 
| 193 | 
            +
                    service_account_scopes: config[:service_account_scopes],
         | 
| 194 | 
            +
                    service_account_name: config[:service_account_name],
         | 
| 197 195 | 
             
                    metadata: metadata,
         | 
| 198 | 
            -
                    tags:  | 
| 196 | 
            +
                    tags: config[:tags],
         | 
| 199 197 | 
             
                  }
         | 
| 200 198 | 
             
                end
         | 
| 201 199 |  | 
| @@ -210,16 +208,16 @@ class Chef::Knife::Cloud | |
| 210 208 | 
             
                  raise "You must supply an instance name." if @name_args.first.nil?
         | 
| 211 209 | 
             
                  raise "Boot disk size must be between 10 and 10,000" unless valid_disk_size?(boot_disk_size)
         | 
| 212 210 |  | 
| 213 | 
            -
                  if  | 
| 211 | 
            +
                  if config[:connection_protocol] == "winrm" && config[:gce_email].nil?
         | 
| 214 212 | 
             
                    raise "Please provide your Google Cloud console email address via --gce-email. " \
         | 
| 215 213 | 
             
                      "It is required when resetting passwords on Windows hosts."
         | 
| 216 214 | 
             
                  end
         | 
| 217 215 |  | 
| 218 | 
            -
                  raise "Please provide connection port via --connection-port." unless  | 
| 219 | 
            -
                  raise "Please provide image os type via --image-os-type." unless  | 
| 216 | 
            +
                  raise "Please provide connection port via --connection-port." unless config[:connection_port]
         | 
| 217 | 
            +
                  raise "Please provide image os type via --image-os-type." unless config[:image_os_type]
         | 
| 220 218 |  | 
| 221 | 
            -
                  ui.warn("Auto-migrate disabled for preemptible instance") if preemptible? &&  | 
| 222 | 
            -
                  ui.warn("Auto-restart disabled for preemptible instance") if preemptible? &&  | 
| 219 | 
            +
                  ui.warn("Auto-migrate disabled for preemptible instance") if preemptible? && config[:auto_migrate]
         | 
| 220 | 
            +
                  ui.warn("Auto-restart disabled for preemptible instance") if preemptible? && config[:auto_restart]
         | 
| 223 221 |  | 
| 224 222 | 
             
                  super
         | 
| 225 223 | 
             
                end
         | 
| @@ -227,10 +225,10 @@ class Chef::Knife::Cloud | |
| 227 225 | 
             
                def before_bootstrap
         | 
| 228 226 | 
             
                  super
         | 
| 229 227 |  | 
| 230 | 
            -
                  config[:chef_node_name] =  | 
| 228 | 
            +
                  config[:chef_node_name] = config[:chef_node_name] ? config[:chef_node_name] : instance_name
         | 
| 231 229 | 
             
                  config[:bootstrap_ip_address] = ip_address_for_bootstrap
         | 
| 232 230 |  | 
| 233 | 
            -
                  if  | 
| 231 | 
            +
                  if config[:image_os_type] == "windows"
         | 
| 234 232 | 
             
                    ui.msg("Resetting the Windows login password so the bootstrap can continue...")
         | 
| 235 233 | 
             
                    config[:connection_password] = reset_windows_password
         | 
| 236 234 | 
             
                  end
         | 
| @@ -247,31 +245,31 @@ class Chef::Knife::Cloud | |
| 247 245 | 
             
                end
         | 
| 248 246 |  | 
| 249 247 | 
             
                def project
         | 
| 250 | 
            -
                   | 
| 248 | 
            +
                  config[:gce_project]
         | 
| 251 249 | 
             
                end
         | 
| 252 250 |  | 
| 253 251 | 
             
                def zone
         | 
| 254 | 
            -
                   | 
| 252 | 
            +
                  config[:gce_zone]
         | 
| 255 253 | 
             
                end
         | 
| 256 254 |  | 
| 257 255 | 
             
                def email
         | 
| 258 | 
            -
                   | 
| 256 | 
            +
                  config[:gce_email]
         | 
| 259 257 | 
             
                end
         | 
| 260 258 |  | 
| 261 259 | 
             
                def preemptible?
         | 
| 262 | 
            -
                   | 
| 260 | 
            +
                  config[:preemptible]
         | 
| 263 261 | 
             
                end
         | 
| 264 262 |  | 
| 265 263 | 
             
                def auto_migrate?
         | 
| 266 | 
            -
                  preemptible? ? false :  | 
| 264 | 
            +
                  preemptible? ? false : config[:auto_migrate]
         | 
| 267 265 | 
             
                end
         | 
| 268 266 |  | 
| 269 267 | 
             
                def auto_restart?
         | 
| 270 | 
            -
                  preemptible? ? false :  | 
| 268 | 
            +
                  preemptible? ? false : config[:auto_restart]
         | 
| 271 269 | 
             
                end
         | 
| 272 270 |  | 
| 273 271 | 
             
                def ip_address_for_bootstrap
         | 
| 274 | 
            -
                  ip =  | 
| 272 | 
            +
                  ip = config[:use_private_ip] ? private_ip_for(server) : public_ip_for(server)
         | 
| 275 273 |  | 
| 276 274 | 
             
                  raise "Unable to determine instance IP address for bootstrapping" if ip == "unknown"
         | 
| 277 275 |  | 
| @@ -283,18 +281,18 @@ class Chef::Knife::Cloud | |
| 283 281 | 
             
                end
         | 
| 284 282 |  | 
| 285 283 | 
             
                def metadata
         | 
| 286 | 
            -
                   | 
| 284 | 
            +
                  config[:metadata].each_with_object({}) do |item, memo|
         | 
| 287 285 | 
             
                    key, value = item.split("=")
         | 
| 288 286 | 
             
                    memo[key] = value
         | 
| 289 287 | 
             
                  end
         | 
| 290 288 | 
             
                end
         | 
| 291 289 |  | 
| 292 290 | 
             
                def boot_disk_size
         | 
| 293 | 
            -
                   | 
| 291 | 
            +
                  config[:boot_disk_size].to_i
         | 
| 294 292 | 
             
                end
         | 
| 295 293 |  | 
| 296 294 | 
             
                def number_of_local_ssd
         | 
| 297 | 
            -
                   | 
| 295 | 
            +
                  config[:number_of_local_ssd].to_i
         | 
| 298 296 | 
             
                end
         | 
| 299 297 |  | 
| 300 298 | 
             
                def reset_windows_password
         | 
| @@ -303,7 +301,7 @@ class Chef::Knife::Cloud | |
| 303 301 | 
             
                    zone:          zone,
         | 
| 304 302 | 
             
                    instance_name: instance_name,
         | 
| 305 303 | 
             
                    email:         email,
         | 
| 306 | 
            -
                    username:       | 
| 304 | 
            +
                    username:      config[:connection_user],
         | 
| 307 305 | 
             
                    debug:         gcewinpass_debug_mode
         | 
| 308 306 | 
             
                  ).new_password
         | 
| 309 307 | 
             
                end
         | 
| @@ -27,13 +27,14 @@ class Chef | |
| 27 27 | 
             
                class Cloud
         | 
| 28 28 | 
             
                  class GoogleServerDelete < ServerDeleteCommand
         | 
| 29 29 | 
             
                    include ServerDeleteOptions
         | 
| 30 | 
            -
                    include GoogleServiceHelpers
         | 
| 31 30 | 
             
                    include GoogleServiceOptions
         | 
| 32 31 |  | 
| 33 32 | 
             
                    banner "knife google server delete INSTANCE_NAME [INSTANCE_NAME] (options)"
         | 
| 34 33 |  | 
| 35 34 | 
             
                    deps do
         | 
| 36 35 | 
             
                      require_relative "cloud/google_service"
         | 
| 36 | 
            +
                      require_relative "cloud/google_service_helpers"
         | 
| 37 | 
            +
                      include GoogleServiceHelpers
         | 
| 37 38 | 
             
                    end
         | 
| 38 39 |  | 
| 39 40 | 
             
                    def validate_params!
         | 
| @@ -24,11 +24,12 @@ require_relative "cloud/google_service_options" | |
| 24 24 |  | 
| 25 25 | 
             
            class Chef::Knife::Cloud
         | 
| 26 26 | 
             
              class GoogleServerList < ServerListCommand
         | 
| 27 | 
            -
                include GoogleServiceHelpers
         | 
| 28 27 | 
             
                include GoogleServiceOptions
         | 
| 29 28 |  | 
| 30 29 | 
             
                deps do
         | 
| 31 30 | 
             
                  require_relative "cloud/google_service"
         | 
| 31 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 32 | 
            +
                  include GoogleServiceHelpers
         | 
| 32 33 | 
             
                end
         | 
| 33 34 |  | 
| 34 35 | 
             
                banner "knife google server list"
         | 
| @@ -26,13 +26,14 @@ class Chef | |
| 26 26 | 
             
                class Cloud
         | 
| 27 27 | 
             
                  class GoogleServerShow < ServerShowCommand
         | 
| 28 28 | 
             
                    include ServerShowOptions
         | 
| 29 | 
            -
                    include GoogleServiceHelpers
         | 
| 30 29 | 
             
                    include GoogleServiceOptions
         | 
| 31 30 |  | 
| 32 31 | 
             
                    banner "knife google server show INSTANCE_NAME (options)"
         | 
| 33 32 |  | 
| 34 33 | 
             
                    deps do
         | 
| 35 34 | 
             
                      require_relative "cloud/google_service"
         | 
| 35 | 
            +
                      require_relative "cloud/google_service_helpers"
         | 
| 36 | 
            +
                      include GoogleServiceHelpers
         | 
| 36 37 | 
             
                    end
         | 
| 37 38 |  | 
| 38 39 | 
             
                    def validate_params!
         | 
| @@ -23,13 +23,14 @@ require_relative "cloud/google_service_options" | |
| 23 23 |  | 
| 24 24 | 
             
            class Chef::Knife::Cloud
         | 
| 25 25 | 
             
              class GoogleZoneList < ResourceListCommand
         | 
| 26 | 
            -
                include GoogleServiceHelpers
         | 
| 27 26 | 
             
                include GoogleServiceOptions
         | 
| 28 27 |  | 
| 29 28 | 
             
                banner "knife google zone list"
         | 
| 30 29 |  | 
| 31 30 | 
             
                deps do
         | 
| 32 31 | 
             
                  require_relative "cloud/google_service"
         | 
| 32 | 
            +
                  require_relative "cloud/google_service_helpers"
         | 
| 33 | 
            +
                  include GoogleServiceHelpers
         | 
| 33 34 | 
             
                end
         | 
| 34 35 |  | 
| 35 36 | 
             
                def validate_params!
         | 
    
        data/lib/knife-google/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: knife-google
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version:  | 
| 4 | 
            +
              version: 5.0.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Chiraq Jog
         | 
| @@ -13,22 +13,36 @@ authors: | |
| 13 13 | 
             
            autorequire: 
         | 
| 14 14 | 
             
            bindir: bin
         | 
| 15 15 | 
             
            cert_chain: []
         | 
| 16 | 
            -
            date: 2020- | 
| 16 | 
            +
            date: 2020-07-10 00:00:00.000000000 Z
         | 
| 17 17 | 
             
            dependencies:
         | 
| 18 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 19 | 
            +
              name: chef
         | 
| 20 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 21 | 
            +
                requirements:
         | 
| 22 | 
            +
                - - ">="
         | 
| 23 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 24 | 
            +
                    version: '15.11'
         | 
| 25 | 
            +
              type: :runtime
         | 
| 26 | 
            +
              prerelease: false
         | 
| 27 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 28 | 
            +
                requirements:
         | 
| 29 | 
            +
                - - ">="
         | 
| 30 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 31 | 
            +
                    version: '15.11'
         | 
| 18 32 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 19 33 | 
             
              name: knife-cloud
         | 
| 20 34 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| 21 35 | 
             
                requirements:
         | 
| 22 36 | 
             
                - - ">="
         | 
| 23 37 | 
             
                  - !ruby/object:Gem::Version
         | 
| 24 | 
            -
                    version:  | 
| 38 | 
            +
                    version: 4.0.0
         | 
| 25 39 | 
             
              type: :runtime
         | 
| 26 40 | 
             
              prerelease: false
         | 
| 27 41 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 28 42 | 
             
                requirements:
         | 
| 29 43 | 
             
                - - ">="
         | 
| 30 44 | 
             
                  - !ruby/object:Gem::Version
         | 
| 31 | 
            -
                    version:  | 
| 45 | 
            +
                    version: 4.0.0
         | 
| 32 46 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 33 47 | 
             
              name: google-api-client
         | 
| 34 48 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -38,7 +52,7 @@ dependencies: | |
| 38 52 | 
             
                    version: 0.23.9
         | 
| 39 53 | 
             
                - - "<"
         | 
| 40 54 | 
             
                  - !ruby/object:Gem::Version
         | 
| 41 | 
            -
                    version: 0. | 
| 55 | 
            +
                    version: 0.41.0
         | 
| 42 56 | 
             
              type: :runtime
         | 
| 43 57 | 
             
              prerelease: false
         | 
| 44 58 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| @@ -48,7 +62,7 @@ dependencies: | |
| 48 62 | 
             
                    version: 0.23.9
         | 
| 49 63 | 
             
                - - "<"
         | 
| 50 64 | 
             
                  - !ruby/object:Gem::Version
         | 
| 51 | 
            -
                    version: 0. | 
| 65 | 
            +
                    version: 0.41.0
         | 
| 52 66 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 53 67 | 
             
              name: gcewinpass
         | 
| 54 68 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -100,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 100 114 | 
             
              requirements:
         | 
| 101 115 | 
             
              - - ">="
         | 
| 102 116 | 
             
                - !ruby/object:Gem::Version
         | 
| 103 | 
            -
                  version: '2. | 
| 117 | 
            +
                  version: '2.6'
         | 
| 104 118 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 105 119 | 
             
              requirements:
         | 
| 106 120 | 
             
              - - ">="
         |