def attach(options = {})
      options = options.merge(network_interface_id: @id)
      resp = @client.attach_network_interface(options)
      resp.data
    end
def attach(options = {})
      options = options.merge(network_interface_id: @id)
      resp = @client.attach_network_interface(options)
      resp.data
    end
@example Request syntax with placeholder values

   network_interface.attach({
     device_index: 1, # required
     dry_run: false,
     instance_id: "String", # required
   })
 @param [Hash] options ({})
 @option options [required, Integer] :device_index
   The index of the device for the network interface attachment.
 @option options [Boolean] :dry_run
   Checks whether you have the required permissions for the action,
   without actually making the request, and provides an error response.
   If you have the required permissions, the error response is
   `DryRunOperation`. Otherwise, it is `UnauthorizedOperation`.
 @option options [required, String] :instance_id
   The ID of the instance.
 @return [Types::AttachNetworkInterfaceResult]